Benutzer mit den meisten Antworten
C# SQL Datenbank Werte summieren

Frage
-
Hallo zusammen,
Ich bin mit meinen Datenbank Projekt an eine kleine Grenze gestoßen.
Ich möchte nun die Summe von verschiedenen Werten bilden. Diese Werte sind beispielsweise 7.50, 8.0 ...
Es wäre dabei gut, wenn alle Zeilen addiert und als Summe in einer Textbox ausgegeben werden können.
Leider fehlt mir dabei die Umsetzung.
Es wäre sehr schön, wenn mir jemand weiterhelfen könnte.
IDEE:
private void button6_Click(object sender, EventArgs e) { { connection.Open(); SqlCeCommand command = new SqlCeCommand(); command.Connection = connection; command.CommandText = "SELECT ID, sum(ID) FROM TeeTest WHERE ID"; SqlCeDataReader reader = command.ExecuteReader(); while (reader.Read()) { textBox11.Text = sum["ID"]; } connection.Close(); } catch (Exception ex) { MessageBox.Show("ERROR" + ex); } }
Antworten
-
Hi,
die Summe von ID Werten zu bilden, ist in der Regel nicht unbedingt sinnvoll.
Vom Grundsatz her ist das aber natürlich schon möglich. Dein Problem dabei ist, dass Du die ID Spalte selbst mit in dem SELECT Statement hast, das führt zu einem Fehler aber selbst wenn nicht, würde er nach ID gruppieren und käme bei jedem einzelnen Datensatz nur auf den Wert, der in ID steht.
Ändere das SQL Statement wie folgt:
SELECT SUM( <Spalte> ) AS SummeDerWerte FROM Tabelle
Wie Du auf "sum["ID"]" kommst:
while (reader.Read()) { textBox11.Text = sum["ID"]; }
weiß ich nicht, da es kein Objekt mit dem Namen "sum" gibt. Das wäre dann wohl eher "reader". Ändere das daher wie folgt:
reader.Read(); textBox11.Text = reader["SummeDerWerte"];
Du willst ja eh nur einen Wert auslesen.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert DerDoktor010101 Mittwoch, 29. Oktober 2014 12:00
-
Ich habe es dann doch noch geschafft:
private void button6_Click(object sender, EventArgs e) { try { connection.Open(); SqlCeCommand command = new SqlCeCommand(); command.Connection = connection; command.CommandText = "SELECT SUM(ID) AS SummeDerWerte FROM TeeTest"; SqlCeDataReader reader = command.ExecuteReader(); reader.Read(); textBox11.Text = reader["SummeDerWerte"].ToString(); connection.Close(); } catch (Exception ex) { MessageBox.Show("ERROR" + ex); } }
Danke für die Hilfe !
- Als Antwort markiert DerDoktor010101 Mittwoch, 29. Oktober 2014 11:59
Alle Antworten
-
Hi,
die Summe von ID Werten zu bilden, ist in der Regel nicht unbedingt sinnvoll.
Vom Grundsatz her ist das aber natürlich schon möglich. Dein Problem dabei ist, dass Du die ID Spalte selbst mit in dem SELECT Statement hast, das führt zu einem Fehler aber selbst wenn nicht, würde er nach ID gruppieren und käme bei jedem einzelnen Datensatz nur auf den Wert, der in ID steht.
Ändere das SQL Statement wie folgt:
SELECT SUM( <Spalte> ) AS SummeDerWerte FROM Tabelle
Wie Du auf "sum["ID"]" kommst:
while (reader.Read()) { textBox11.Text = sum["ID"]; }
weiß ich nicht, da es kein Objekt mit dem Namen "sum" gibt. Das wäre dann wohl eher "reader". Ändere das daher wie folgt:
reader.Read(); textBox11.Text = reader["SummeDerWerte"];
Du willst ja eh nur einen Wert auslesen.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert DerDoktor010101 Mittwoch, 29. Oktober 2014 12:00
-
Ich habe es dann doch noch geschafft:
private void button6_Click(object sender, EventArgs e) { try { connection.Open(); SqlCeCommand command = new SqlCeCommand(); command.Connection = connection; command.CommandText = "SELECT SUM(ID) AS SummeDerWerte FROM TeeTest"; SqlCeDataReader reader = command.ExecuteReader(); reader.Read(); textBox11.Text = reader["SummeDerWerte"].ToString(); connection.Close(); } catch (Exception ex) { MessageBox.Show("ERROR" + ex); } }
Danke für die Hilfe !
- Als Antwort markiert DerDoktor010101 Mittwoch, 29. Oktober 2014 11:59