各位大侠:
如题     用datatable获取数据如果没有数据报null错误该怎么解决?                        DataTable dts =从数据库取出来的信息
[align=left]
                        if (dts.Rows.Count != 0)
                        {
                           
                           string name= dts.Rows[0]["UserName"].ToString();
                            string sex= int.Parse(dts.Rows[0]["usersex"].ToString());
                            string class= dts.Rows[0]["class"].ToString();
                                 }[/align]
                       要是  sex 这个字段 是空的话,那么 程序就不执行下去了。
            这怎么解决呀。。??
            在线等非常感谢。  

解决方案 »

  1.   

    DateTable dt=...;
    if(dt!=null && dt.Rows.Count>0)
    {
    //
    }
      

  2.   

    那你只能把每个变量先赋默认值,然后判断datatable中某个字段的数据是否为空,是空的就不赋值咯
      

  3.   

    //写一个公用的类 如 Commons.cs public class Commons
    {    public string  ConvertString(object obj)
        {
            if (obj == DBNull.Value)
                return "";
            else
                return Convert.ToString(obj);
        }    public int ConvertSex(object obj)
        {
            int sex = -1;
            if(!int.TryParse(ConvertString(obj),out sex ))
            {
                return -1;//这里的值看需求
            }
            return sex;
        }} string strSex =  Commons.ConvertString(dts.Rows[0]["usersex"]);
     int  iSex =  Commons.ConvertSex(dts.Rows[0]["usersex"]);
      

  4.   

    datatable dt=new datatable();
    dt=..........
      

  5.   

    string sex= int.Parse(dts.Rows[0]["usersex"].ToString()); 
    这句话有问题的么string sex = dts.Rows[0]["usersex"] == null ? "无性??" : dts.Rows[0]["usersex"].ToString() ;