DataRow
我正在尝试向C#中的现有列添加一列。之后,该列将填充我数据库中的单个值。
DataRow dr 已经存在,并且列“COLNAME”也存在。
comTBP 是我的SqlCommand
.
dr["COLNAME"] = Convert.ToInt32(comTBP.ExecuteScalar());
如果我的数据库中有一个值并且 ExecuteScalar() 可以获得该值,这一切都可以正常工作。如果我在我的开发服务器(本地)上测试此代码,如果 ExecuteScalar() 返回 null 或 DBNull 并且我的新列的值为 0,它也可以工作。但是如果我将代码部署到生产服务器,就会出现问题。如果我做同样的事情,使用相同的数据库,它会抛出一个异常,并显示它无法将 DBNull 转换为 Int32 的消息。
我的问题是为什么这个错误出现在生产服务器上而不是我的本地开发服务器上?