在ASP.NET从数据库读取空值的小技巧
它的功能很简单,就是先在数据库中查找字段Named name,然后做出判断。如果它的值为空,那么number的值将增加1。例如,我们需要注意黑色的。复制代码如下: int number=0;字符串连接=@ '数据源=。\ SQLEXPRESSAttachDbFilename=c : \ Users \ Lando \ Desktop \ UML Extension \ my practices \ web services \ App _ Data \ database 1 . MDF;集成安全性=真;用户实例=真';使用(SqlConnection conn=new SqlConnection(connstr)){ conn . Open();字符串字符串=“从测试中选择”;使用(SqlCommand cmd=conn . CreateCommand()){ cmd。CommandText=strSqlDataReader dr=cmd。ExecuteReader();while (dr.Read()) {字符串名称=dr['Name']。ToString();DateTime dt=dr . GetDateTime(dr .get序数(' InputDate '));strong if(dr[' Name ']==null){ number=1;}/strong } } } if(number==0)label 1 . text='没有名称为null的值';否则标签1。文本=“名称为空,数字为:”数字;然后,看看我的数据里的数据:。
在我们的测试表中,有三条数据,第三条数据的名称字段的值为空。一开始,我自然认为标签中的空白名称数量会是:1。很多故事告诉我们,随便下结论很容易出错。比如我现在做的结论。因此,找不到名称为空的值也就不足为奇了。发生什么事了!一开始想了想,也不知道为什么。然后,我用设置断点,然后我启动F5开始调试。上图:
你看过吗?它不承认。也就是说,如果它在数据库中(至少在SQL中?在神谕中,我还不知道。空值不为空。它用表面现象欺骗你。但是,我们可以从上面的截图中看到它的类型:对象{System。DBNull},我们可以在这里找到线索。是的,我从类型入手,然后在网上看了一些DBNull的知识。具体来说,读者可以自己去百度下。知道是类型问题,改正就可以了,核心只需要修改如下:复制代码如下: if (dr ['name']==dbnull。值){ number=1;}是OK,然后就可以正确识别了。还有一种方法,其实也差不多,换汤不换药:复制代码如下: if (convert。isdb null(dr[' name ']){ number=1;}还行。
版权声明:在ASP.NET从数据库读取空值的小技巧是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。