首先祝大家节日快乐;下面说说我遇到的问题:
我调用sqlhelper类ExecuteScalar方法,返回的数据类型是object调用的代码: object i= DBHelper.ExecuteScalar(sql); 
 Label1.Text = string.Format("{0:c}", (int)i); 
这是sql记录不为空的情况; 但当执行的sql数据为无记录,也是为null,请问怎么去判断,我的页面效果要显示为货币类型  string s = sqlhelper.ExecuteScalar(sql).toString();
  if (s!=null)
  {
   Label1.Text = string.Format("{0:c}",(int)s); 
   //Label1.Text = string.Format("{0:c}",convert.toint32(s)); 
  }               
可以执行数据,但是结果不是货币类型,能直接判断int 为null吗?谢谢大伙了

解决方案 »

  1.   

    if(DBHelper.ExecuteScalar(sql)!=null)
    {
       //you code;
    }
      

  2.   

    object obj = DBHelper.ExecuteScalar(sql); int i=obj==null?0:(int)obj;
      

  3.   

    object s = sqlhelper.ExecuteScalar(sql);
      if (s!=null)
      {
       Label1.Text = string.Format("{0:c}", s); 
      }如果要判断是否为数据库的NULL,可以这样:
    if( DBNull.Value == s )xxx
      

  4.   

    object obj = DBHelper.ExecuteScalar(sql);  
    int i=obj==null?0:(int)obj;
    Label1.Text = string.Format("{0:c}",i);  页面类型出错了 
      

  5.   

    先转换为decaimal再转换为货币类型。。
      

  6.   

    使用isnull(字段,0)
    object obj = DBHelper.ExecuteScalar(sql);   
    Label1.Text = string.Format("{0:c}",obj==null?0:obj); 
    或??
      

  7.   


    就是判断是否为null(目前没知道好方法,请大伙赐教一下,谢谢),然后在页面的结果为货币类型的
      

  8.   


    if(DBHelper.ExecuteScalar(sql)!=null)
    {
       int i=(int)DBHelper.ExecuteScalar(sql);
       Label1.Text=i.ToString("c");
    }