codesmart
Goto Top

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:

        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!

Content-Key: 6840112018

Url: https://administrator.de/contentid/6840112018

Printed on: April 27, 2024 at 12:04 o'clock

Member: shanogi
shanogi Dec 05, 2023 at 08:03:12 (UTC)
Goto Top
Moin,

ich habe keine Ahnung von C Sharp aber müsste bei
cmd2.CommandText = "UPDATE Objekt SET Summe = @Sum WHERE ObjektID= @ID";  
nicht
cmd2.CommandText = "UPDATE Objekt SET Summe = @SummeXY WHERE ObjektID= @ID";  
rein?
Member: SachsenHessi
SachsenHessi Dec 05, 2023 updated at 08:53:49 (UTC)
Goto Top
Zitat von @codeSmart:
      
            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";  
>
Also irgend wie sieht dieser Teil etwas verkorkst aus.
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