如何检查空值?
问题描述:
我有一个整数列,可能有一个数字或没有分配给它(即在数据库中为空)。我如何检查它是否为空?如何检查空值?
我已经试过
if(data.ColumnName == null)
{
...
}
如果存储在数据库中的值是这不工作,要么(如亚音速不使用可空类型(如适用)ActiveRecord的)
if(data.ColumnName.HasValue)
{
...
}
0,那么这将无济于事:
if(data.ColumnName == 0 /* or 0x000? */)
{
...
}
DateTime字段也会出现同样的问题也是如此。
答
发现了如何做到这一点。亚音速对所获得的价值作为对象,让空校验的方法:
if(data.GetColumnValue("Column Name") == null)
{
...
}
答
尝试:
如果(数据== System.DBNull)
答
如果您数据变量是强类型数据行,这可能帮助:
if(data.IsNull("ColumnName")) { ... }
答
的DBNull是价值的空列。
DBNull是一个值类型。值类型不能为空。
假设一个SqlDataReader ...检查null是:
如果(读者[ “colname的”)== DBNull.Value)
答
当查询数据库处理空在那里,让你的生活中的代码
SQL例如
容易得多SELECT isNull(columnName, 0) FROM TABLENAME...
或
Select isNUll(columnName, 'N/A') FROM TABLENAME ...
除了不会编译。你的意思是要么{数据== System.DBNull.Value}或{数据是System.DBNull}。 – configurator 2009-04-22 15:04:47
是的,我不得不承认,我写得很快,没有想到它。 – jgallant 2009-04-22 15:33:29