Exp*_* be 8 .net c# sql asp.net datareader
我使用DataReader读取了我的数据库.
并且某些行没有fdate值.
因此,当我将null日期转换为DateTime时,会发生错误.
如何查看该字段是否为空?
AdsCommand cmd = conn.CreateCommand();
cmd.CommandText = "select name,fdate from abc";
AdsDataReader reader = cmd.ExecuteReader();
DateTime flsdate = (reader["fdate"].Equals(null))? Convert.ToDateTime(reader["fdate"]) : DateTime.Today;
Run Code Online (Sandbox Code Playgroud)
我尝试使用Equals,但它不起作用.
有谁知道如何检查null对象以避免转换错误?
谢谢!
San*_*eep 11
当大家指出如何解决问题时,我试图向您提供有关NULL和DBNull之间区别的信息.
null 和DBNull是不同的.
null不是任何类型的实例.DBNull是一个包含一个实例的单例类:DBNull.Value.
null表示无效引用,其中as DBNull.Value表示DB中不存在的值.
DBNull.Value 数据库提供程序为表中的不存在的值提供了什么.
这个背景(reader["fdate"].Equals(null))在这里使用是不正确的.你必须检查它DBNull.Value.如果它是类型DBNull,或者它是等于DBNull.Value,那么分配你喜欢的任何值.
| 归档时间: |
|
| 查看次数: |
4792 次 |
| 最近记录: |