【发布时间】:2014-01-09 23:58:17
【问题描述】:
我正在尝试使用 datagridview 更新我的数据库,但它抛出“对象引用未设置为对象的实例”异常是我的代码:
foreach (DataGridViewRow dgRow in dataGridView1.Rows)
{
//string re = dgRow.Cells[0].Value.ToString();
string re =Convert.ToString(dgRow.Cells[0].Value.ToString());
string strQuery = "UPDATE unit_master SET unit='"+re.ToString()+"'";
SqlCommand scmd = new SqlCommand(strQuery,SqlConn);
scmd.ExecuteNonQuery();
}
SqlConn.Close();
【问题讨论】:
-
你好。请使用参数化查询并告诉我们错误在哪里。另外,为什么要在字符串上调用
Convert.ToString(),而在将字符串转换为字符串时得到的字符串上调用.ToString()? -
请看this post。
-
实际上上面的代码数据正在更新,但只有异常被抛出。我确实删除了一个 .ToString 转换,但数据没有得到更新。
-
Convert.ToString("Use a Debugger and step through it to find out why".ToString()); -
改用参数化 SQL。您的代码容易受到 SQL 注入的攻击。 (请参阅 Jeff A.codinghorror.com/blog/2005/04/… 的帖子)
标签: c#