日期:2014-05-19  浏览次数:20588 次

DataGrid1_UpdateCommand怎么写<C#> ? 30分相送!!!
private   void   DataGrid1_UpdateCommand(object   source,   System.Web.UI.WebControls.DataGridCommandEventArgs   e)
{  
BinDingDataGrid();
string   sql= "update   employee   set   fname=@fname   where   emp_id=@emp_id   ";
cn.Open();
cm.Parameters[ "@emp_id "].Value=((TextBox)e.Item.Cells[0].Controls[0]).Text;
cm.Parameters[ "@fname "].Value=((TextBox)e.Item.Cells[1].Controls[0]).Text;
cm   =new   SqlCommand(sql,cn);
cm.ExecuteNonQuery();

}
怎么会报:System.NullReferenceException:   未将对象引用设置到对象的实例
想了好久,都不明白,请各位帮帮!!谢......



------解决方案--------------------
检查一下e.Item.Cells[0].Controls[0]和e.Item.Cells[1].Controls[0]是不是null值,另外绑定数据应该是在更新后而不是更新前,除非你禁用了ViewState!

===========================================
http://www.dotneturls.com —.net开发资源精华收集,正在不断更新及完善中,欢迎推荐资源并提出意见和建议!
------解决方案--------------------
先有cm.Parameters 然后cm = new ?????
------解决方案--------------------
同意楼上的说话,应该是
cm =new SqlCommand(sql,cn);提到cn.Open 之后


------解决方案--------------------
如果项是只读的,应该这么写
= e.item.cells[0].Text
------解决方案--------------------
就是说你的对象没有实例化,断点调试一下,很容易的