请教:有关DataGrid的一个小问题
我定义了一个EditCommandColumn,UpdateCommand事件的代码如下
TextBox txid=(TextBox) e.Item.Cells[3].Controls[0];
string updatestr="update grade_elective set 成绩=@grade where keyword=@id"; //keyword 已设成grade_elective表的主键
SqlCommand comm=new SqlCommand(updatestr,conn); //conn为连接对象
comm.Parameters.Add(new SqlParameter("@grade",SqlDbType.Char,10));
comm.Parameters["@grade"].Value=txid.Text;
comm.Parameters.Add(new SqlParameter("@id",SqlDbType.Char,19));
comm.Parameters["@id"].Value=DataGrid1.DataKeys[e.Item.ItemIndex];
//执行到此时出错"索引超出范围。必须为非负值并小于集合大小。参数名:index
"
//说明:我的表里所有记录的主键一定有值,所以不说为何会出现上面的错误,请大虾指点一下,谢谢!