Wie abrufen von Daten aus sql server-Datenbanken und manipulieren Sie in c#?
Ich bin neu asp.net. Ich bin versucht, abrufen von Daten aus SQL Server in eine asp.net website. Dies ist das Ergebnis meiner Tabelle in SQL,
Day_Of_Week Product_Count
-----------------------------
Sunday 8
Monday 150
Tuesday 80
Wednesday 95
Thursday 345
Friday 229
Saturday 48
Dies ist mein code in c#,
DataTable dt = new DataTable();
SqlConnection con = new SqlConnection(Settings.DatabaseConnectionString);
SqlCommand com = new SqlCommand("Select * from tblProducts");
com.CommandType = CommandType.Text;
com.Connection = con;
con.Open();
SqlDataAdapter da = new SqlDataAdapter(com);
da.Fill(dt);
int monday = Convert.ToInt32(dt.Rows[1]["Product_Count"]);
int tuesday = monday + Convert.ToInt32(dt.Rows[2]["Product_Count"]);
int wednesday = tuesday + Convert.ToInt32(dt.Rows[3]["Product_Count"]);
int thursday = wednesday + Convert.ToInt32(dt.Rows[4]["Product_Count"]) ;
int friday = thursday + Convert.ToInt32(dt.Rows[5]["Product_Count"]);
Nun, wenn es keine Datensätze auf Sonntag, es wird nicht angezeigt Zeile und Sonntag habe ich ändern Sie den c# - code. Stattdessen möchte ich eine switch case oder so etwas, wenn der Tag ein Montag ist, dann kann ich schreiben, dt.Zeilen[0], wenn der Tag ist Dienstag, dann dt.Zeilen[0], usw.
Lassen Sie mich wissen, was wäre die beste Möglichkeit, dies zu tun. Jede Hilfe wird geschätzt.
Dank.
Werfen Sie einen Blick auf die PIVOT-Befehl
Können Sie Lesen Sie die aktuelle Dokumentation? Die Verwendung von Datentabellen ist wie worst practice für - hm - 1o Jahren oder so (nicht, dass es besser war, bevor). Seitdem MS hat wirklich angepasst, um den rest der Welt und ich Frage mich, wo die Leute "neue, was auch immer .NET" Holen Sie sich Ihre Ausbildung zu Folgen, die alte antipatterns.
Kann Sie Punkt der OP (und der rest von uns)
Du msut Scherz sein? Was ist Entity Fraemwork (Teil der .NET framework? ADO.NET documentaiton? Sie ernsthaft bitten, mir zu zeigen, die Sie zu msdn.microsoft.com und google.com?
Ich bin nicht zu scherzen. Es ist echt die Frage-und ich bin bereit zu lernen. Was ist falsch mit
Können Sie Lesen Sie die aktuelle Dokumentation? Die Verwendung von Datentabellen ist wie worst practice für - hm - 1o Jahren oder so (nicht, dass es besser war, bevor). Seitdem MS hat wirklich angepasst, um den rest der Welt und ich Frage mich, wo die Leute "neue, was auch immer .NET" Holen Sie sich Ihre Ausbildung zu Folgen, die alte antipatterns.
Kann Sie Punkt der OP (und der rest von uns)
the recent documentation
so, dass wir etwas lernen können? Was ist falsch mit der Verwendung DataTable
s?Du msut Scherz sein? Was ist Entity Fraemwork (Teil der .NET framework? ADO.NET documentaiton? Sie ernsthaft bitten, mir zu zeigen, die Sie zu msdn.microsoft.com und google.com?
Ich bin nicht zu scherzen. Es ist echt die Frage-und ich bin bereit zu lernen. Was ist falsch mit
DataTables
?InformationsquelleAutor Arpita | 2014-11-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie überdenken Ihren Ansatz. Da alles, was Sie tun möchten, Holen Sie die Produkt zählen von Tag würde ich so etwas tun, anstatt sich auf die Nummer der Zeile.
Würden Sie dann nennen das so:
Obwohl dies nicht so effizient, wie das Lesen der Zeilen in einem Rutsch, wie es tut, mehrere DB-Aufrufe.
InformationsquelleAutor DGibbs
Können Sie mit einem foreach zu iterieren durch die Zeilen und ein Schalter, um die Daten. Pre-initialisieren Sie Ihre Variablen zuerst.
Guter Punkt, Paul. In diesem Fall, obwohl er nicht zurückkehren Einträge für null-Werte. Ein extra, wenn Hinzugefügt werden könnten, aber zum ausschließen von Reihen, in denen die Product_Count null ist, um zu vermeiden, Interaktion mit Ihnen völlig.
InformationsquelleAutor Mark Fitzpatrick
Könnte es besser sein, zum abrufen der gewünschten Daten mit einer Abfrage, so dass Sie nicht haben, um es zu manipulieren in C#.
Können Sie eine T-SQL-Anweisung, um zu erkennen, wenn es keine Zeile für einen bestimmten Tag. Nicht die genaue Abfrage, die Sie wollen, aber im Grunde könnte man verwenden
ISNULL
zu erkennen, die Fälle, wo es keine Zeile, zum Beispiel Tage ohne zählen.InformationsquelleAutor Semih Yagcioglu
Nehme an, ändern Sie Ihre Abfrage, die PIVOT-SQL-Anweisung
Nun könnte der code umgeschrieben werden
Den Zeilen der vorherigen Abfrage gedreht werden als Spalten und den Sonntag (oder anderen Tag), wenn nicht vorhanden, wird immer wieder als DBNull.Wert.
InformationsquelleAutor Steve