对象不能从DBNull转换成为其他类型。

来源:百度知道 编辑:UC知道 时间:2024/06/06 21:03:38
请问一下,我的数据库设置默认是 允许空的。但是我调用数据库信息时候,需要把全部数据都拿出来检索一下,有什么办法可以判断数据库为空的情况。。在C# VS 中 是用什么语句来判断数据为空?

难道是 if (**==null)???????
嘿嘿 还是我自己 找到方法了

调用 using System.Data.SqlType
然后使用
Convert.IsDBNull(row["**"]);

这个方法 可以返回 true 或责 false 所以可以用来判断拉。哈哈

当你的数据库中的列的类型为除了nvarchar,varchar,char...(只要是字符串类型以外的数据类型).读取的时候.碰到空的时候就会报这种错误.
字符串类型如果遇到<NULL>空.读取出来将会是字符串空 "" ;
你可以用三元运算符. ? : 比如 (其中Value为DateTime) Model.Value = reader[0] == null ? DateTime.Now : Convert.ToDateTime(reader[0]).

希望能解决你的问题.

Oracle是有这个问题 没有什么好的解决方案 你把获取值的字段或变量用可空类型试试