ASP.NET C sharp Select mit SUM von TextBox?
Hallo, habe da dieses Problem und sitze schon stundenlang dran, es geht darum dass ich probiere zu summieren und einen Eintrag in der Datenbank upzudaten.
Das ist mein Code:
Wie gesagt es klappt immer noch nicht und ich brauche hilfe!
Das ist mein Code:
protected void GridView1_SelectedIndexChanged1(object sender, GridViewSelectEventArgs e)
{
txt_ID.Text = GridView1.Rows[e.NewSelectedIndex].Cells[0].Text;
}
protected void Button2_Click(object sender, EventArgs e)
{
string ObjektID = txt_ID.Text;
SqlConnection conn2 = new SqlConnection(ConfigurationManager.ConnectionStrings["SqlDataSource1"].ToString());
SqlCommand cmd2 = new SqlCommand();
SqlCommand cmd3 = new SqlCommand("SELECT SUM(Summe) As SummeXY, ItemObjektID FROM Item WHERE ItemObjektID LIKE @ID GROUP BY ItemObjektID");
cmd3.Parameters.Add("@ID", SqlDbType.Int).Value = Convert.ToInt32(ObjektID);
cmd2.CommandText = "UPDATE Objekt SET Summe = @Sum WHERE ObjektID= @ID";
try
{
conn2.Open();
cmd3.Connection = conn2;
object result = cmd3.ExecuteScalar();
cmd2.Connection = conn2;
cmd2.Parameters.Add("@ID", SqlDbType.Int).Value = Convert.ToInt32(ObjektID);
cmd2.Parameters.Add("@Sum", SqlDbType.BigInt).Value = Convert.ToInt64(result);
cmd2.CommandType = CommandType.Text;
cmd2.ExecuteNonQuery();
}
catch (System.Data.SqlClient.SqlException ex)
{
string msg = "Update Error:";
msg += ex.Message;
throw new Exception(msg);
}
finally
{
conn2.Close();
}
Wie gesagt es klappt immer noch nicht und ich brauche hilfe!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 6840112018
Url: https://administrator.de/contentid/6840112018
Ausgedruckt am: 07.11.2024 um 22:11 Uhr
2 Kommentare
Neuester Kommentar
Zitat von @codeSmart:
Also irgend wie sieht dieser Teil etwas verkorkst aus.
SqlCommand cmd2 = new SqlCommand();
SqlCommand cmd3 = new SqlCommand("SELECT SUM(Summe) As SummeXY, ItemObjektID FROM Item WHERE ItemObjektID LIKE @ID GROUP BY ItemObjektID");
cmd3.Parameters.Add("@ID", SqlDbType.Int).Value = Convert.ToInt32(ObjektID);
cmd2.CommandText = "UPDATE Objekt SET Summe = @Sum WHERE ObjektID= @ID";
>
cmd3 wird nicht ausgeführt/ausgewertet, das (nicht ermittelte) Ergebnis wird aber in cmd2 verwendet🤔
PS.: Im Übrigen, würde ich das ganze evtl. in eine UDF/UDP nehmen, dann hast Du nur noch "einen Aufwasch" auf C#-Seite.
🤔.
LG
SH