资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 软件开发 >
Advertisement
文章正文

为什么这句 if(obuser is DBNull ) 不起作用

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   

for(int   i=0;i<newvalue.Length   ;i++)  
      try    
            {  
                       
                    objconn.Open   ();  
                      string   sql="select   _role   from   userinformation   where   _userid="+newvalue[i]+"";  
                        SqlCommand   cmd=new   SqlCommand   (sql,objconn);  
                        object     obuser=cmd.ExecuteScalar();  
                 
                        if(obuser   is   DBNull   )  
                              {    
                                        flag=false;  
                                       
                                }  
                    else    
                              {      
                                string   user=(string)   obuser.ToString().Trim   ();  
                       
                                }  
  }  
  为什么这句   if(obuser   is   DBNull   ) 不起作用,  
  数据表里有或没有满足条件的记录都会执行else   下的语句。

网友回答:

发表者:mazekui

用if(obuser   is   nothing)  
 

发表者:zldcolin

DBNull是相对数据库而说的,楼上的应该可以

发表者:manbaum

if(obuser   is   DBNull   )  
  改成  
    if(obuser   ==   null   )  
   
  请查看   MSDN   关于   SqlCommand.ExecuteScalar   部分:  
   
  “结果集中第一行的第一列或空引用。”  
 

发表者:michaelowenii

if(obuser   is   DBNull.Value   )  
 

发表者:Miracle

if((obuser   ==   null)   ||   (obuser   ==   DBNull.Value)   )

发表者:zhangzhifeng8888

应该是nothing

发表者:swzlxm

if(obuser   ==null   ||   obuser   ==System.DBNull.Value)  
  {  
  }

发表者:swzlxm

错了,错了,好像有没有记录都会返回一个值,当然一直执行ELSE了  
   
  单步跟踪一下,看有记录和没记录各返回什么值,我现在也不去看资料了,一时记不清

发表者:jmac

obuser   ==   null


 

 
热门推荐笔记本: IBM笔记本
相关文章:
笔记本相关:
IT技术文章:
webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
©2007 popbb.net All Rights Reserved