在更新网格视图的字段(Varchar)时,更新后的值只是TextBox的第一个字符。我不明白为什么会这样呢??? 我也使用存储过程进行更新。 Plz可以告诉我这个错误的可能原因吗?
我的C#代码是: GridViewRow dg = gdtrng.Rows [e.RowIndex]; t1 =(TextBox)dg.Cells [2] .Controls [0]; t2 =(TextBox)dg.Cells [3] .Controls [0]; t3 =(TextBox)dg.Cells [4] .Controls [0]; t4 =(TextBox)dg.Cells [5] .Controls [0]; t5 =(TextBox)dg.Cells [6] .Controls [0]; t6 =(TextBox)dg.Cells [7] .Controls [0]; t7 =(TextBox)dg.Cells [8] .Controls [0]; obConn.cmd.CommandType = CommandType.StoredProcedure;
obConn.cmd.CommandText = "updatetrainingschedule";
obConn.cmd.Parameters.AddWithValue("@tr_id", gdtrng.DataKeys[e.RowIndex].Value.ToString());
obConn.cmd.Parameters.AddWithValue("@tr_type", t1.Text);
obConn.cmd.Parameters.AddWithValue("@tr_subject", t2.Text);
obConn.cmd.Parameters.AddWithValue("@tr_from", Convert.ToDateTime(t3.Text));
obConn.cmd.Parameters.AddWithValue("@tr_to", Convert.ToDateTime(t4.Text));
obConn.cmd.Parameters.AddWithValue("@tr_time_from", t5.Text);
obConn.cmd.Parameters.AddWithValue("@tr_time_to", t6.Text);
obConn.cmd.Parameters.AddWithValue("@tr_venue", t7.Text);
obConn.conn.Open();
obConn.cmd.ExecuteNonQuery();
obConn.conn.Close();
答案 0 :(得分:0)
好的......我得到了自己的理由。我使用varchar而不是varchar(50)
答案 1 :(得分:0)