C#操作sql数据库,想删除数据库中数据表的某一行,此行是通过在窗体中选中的,代码和错误如下,求指教?

如题所述

第1个回答  2014-02-25
string bd = datagridview.currentrow.cells[2].value.tostring();//这句有问题
//可以这样写
if (datagridview.selectedrows.count != 1) return;
if (datagridview.currentrow == null) return;
datarowview row = datagridview.currentrow.databounditem as datarowview;
if (row["字段"] == null) return;
string bd = row["字段"].tostring();追问

改完了问题还是一样的。。。

追答

调式,未将对象实例化意思为:你的对象为NULL,所有有好几行代码都有这个可能,你断点调式看是哪行代码

追问

if (row["字段"] == null) return;这句出现了问题

本回答被提问者和网友采纳
第2个回答  2014-02-25
最好的办法就是在你要监视的那样最前面设置断点 按F10 或 F11调试 ,会调试才是解决办法的根本所在,你这里目测 是string bd = datagridview.currentrow.cells[2].value.tostring(); 有问题
第3个回答  2014-02-25
使用Convert.ToString()函数替代toString
Convert.ToString(datagridview.currentrow.cells[2].value)追问

能具体点吗?

追答

string bd = datagridview.currentrow.cells[2].value.tostring() 改成
string bd =Convert.ToString(datagridview.currentrow.cells[2].value)试试,这个如果是空值或者DBNULL会返回空字符串