请问从数据库中读取数据出来,出错信息:"从类型“DBNull”到类型“String”的强制转换无效。"怎么办
代码如下:
Dim cksj As DateTime
While (myreader.Read)
cksj = myreader("cksj")
End While
tb_cksj.Text = cksj
我使用的是access数据库,里面的cksj为空,我想把这个数据读出来,并给一个testbox赋值.
------解决方案--------------------------------------------------------
先判断 myreader("cksj") 是否等于 DbNull.Value
------解决方案--------------------------------------------------------
.TOSTRING()?
------解决方案--------------------------------------------------------
- VB.NET code
While (myreader.Read) tb_cksj.Text = myreader("cksj").ToString()End While
------解决方案--------------------------------------------------------
C#代码
while (myreader.Read)
{
cksj = myreader.IsDBNull(0) ? "" : myreader.GetString(0);
}
------解决方案--------------------------------------------------------
myreader("cksj")为null;
tostring就会出错了
在为null的时候 tb_cksj.Text = string.Empty
------解决方案--------------------------------------------------------
myreader("cksj")出来是个object类型啊 要tostring()
------解决方案--------------------------------------------------------
- C# code
public static object ConvertNull(object values) { try { return (values == System.DBNull.Value ? null : (object)values); } catch (Exception err) { return ErrorLog(err); } }