在Asp.net中更新网格视图行的问题

时间:2010-11-03 03:26:58

标签: c# asp.net view grid

在更新网格视图的字段(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();

2 个答案:

答案 0 :(得分:0)

好的......我得到了自己的理由。我使用varchar而不是varchar(50)

答案 1 :(得分:0)