当前位置: 代码迷 >> ASP.NET >> 请教从数据库中读取数据出来,出错信息:"从类型“DBNull”到类型“String”的强制转换无效。"怎么处理
  详细解决方案

请教从数据库中读取数据出来,出错信息:"从类型“DBNull”到类型“String”的强制转换无效。"怎么处理

热度:5725   发布时间:2013-02-25 00:00:00.0
请问从数据库中读取数据出来,出错信息:"从类型“DBNull”到类型“String”的强制转换无效。"怎么办
请问从数据库中读取数据出来,出错信息:"从类型“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);        }    }
  相关解决方案