Int类型 字符串类型 Datetime类型等
if (dr.IsNBnull(1) {
   (int)dr(1);
}这种方法感觉不太简洁,有啥好的方法吗?

解决方案 »

  1.   

    if (dr.Read())  
      {  
      Response.Write( "aa ");  
        }  
      else  
      {  
      Response.Write( "bb ");  
        }  
      

  2.   

    string str = i.Equals(null) ? "true" : "false";  如果只判断null的话  这样还是比较简洁的。
      

  3.   

    if (dr["myField"] is DBNull)//判断myField字段是否为空,
    {
      ...;.
    }
      

  4.   


    ...
    SqlDataReader reader = cm.ExecuteReader();
    if(reader!=null)
    {
       while(reader.Read())
       {
          //do something
          
       }
    }
      

  5.   

      while(reader.Read())
       {
          if(reader[0].tostring=="")
       }
      

  6.   

    int a =(dr.IsDBNull(1)? 0: (int)dr.IsDBNull(1))
      

  7.   

      难道楼主的意思是不是说的三元运算符?如下面的例子:
                int i = base.ExecuteCommand(strSql, sp);
               return i > 0 ? true : false;
    **********************************************
                  dr.hasRows为true则有记录,为false则无记录                 while   (dr.Read()) 
                    { 
                          //对记录进行处理. 
                    }
      

  8.   


    当reader[0]为null或DBNull时会报错的  while(reader.Read())
       {
          if((reader[0] == null) || (reader[0] == DBNull.Value))
    {}
    else 
    {}
       }PS:当查询的结果集不存在(即返回结果为0行)时,DataReader返回null,当有结果集,而所在字段的值在数据库中为空时,DataReader返回DBNull.Value
      

  9.   

    if (!rdr["name"].GetType().Equals(typeof(DBNull)))
      {  } 
      

  10.   

     SqlDataReader objSqlReader = objSqlCommand.ExecuteReader();
                    while (objSqlReader.Read())
                    {
                                  if ( objSqlReader[1].ToString()!="")
                            {}
    }
      

  11.   

    while(reader.Read())
       {
       if(reader[0].tostring()=="" || reader[0]==null)
       }
      

  12.   

    while(reader.Read())
       {
       if(reader[0].tostring()=="" || reader[0]==null)
       }