黑马程序员技术交流社区
标题:
ado.net 问题,当搜索结果为空时怎么处理
[打印本页]
作者:
吴瑞祥
时间:
2012-11-19 22:00
标题:
ado.net 问题,当搜索结果为空时怎么处理
本帖最后由 wrx362114 于 2012-11-19 22:38 编辑
如果用sqldatareader类的话,怎么知道他返回的是一个空值
调用sqldatareader对象,如果搜索结果是空,不管执行什么方法都会报错,"不能对NULL值调用此方法"
返回的值是DBNULL类型,这个类型不能定义实例
可以了``我用gettype方法得到一个type对象,然后调用tostring再放到if语句中
看是否等于"System.DBNull"字符串,搜索结果为空时,可以用这个判断出来
作者:
韩温华
时间:
2012-11-19 22:23
String类中的IsNullOrEmpty方法判断是否为空或为空字符串
作者:
杨深
时间:
2012-11-20 00:18
如果是判断sqldatareader对象有没有记录,是否为空,
Read()的时候就可以判断
,
如while(dr.read()){}无记录时,即返回false,跳出循环。
也可以用
hasread()
判断是否有记录.
如if(dr.hasread()),无记录则返回false;
而如果是有记录,是想判断记录某字段是否为空。则可以跟
DBNull.Value
对比值。
如reader["Id"] == DBNull.Value
你刚说的返回的值是DBNULL类型,这个类型不能定义实例,是不是
直接用DBNull,而没有value
?如果只写DBNull,只是判断该字段是否是DBNull类型,而不是判断是否等于空值。
作者:
吴瑞祥
时间:
2012-11-22 12:39
杨深 发表于 2012-11-20 00:18
如果是判断sqldatareader对象有没有记录,是否为空,Read()的时候就可以判断,
如while(dr.read()){}无记录 ...
明白,就是这个类是一个静态类,可以直接调用放,不能实例化.用的时候忘记静态类这茶了
直接判断变量类型,也是可以撒,我那样测试可以用,就是麻烦了很多很多``````
作者:
Jam
时间:
2012-11-22 15:06
填充到dateTable 判断table行数是否大于0 不大于0则是空吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2