public DataRow dr;       public void datBD()
        {
            MySqlConnection mysqlcon = new MySqlConnection("Server=localhost;userid=root;password=1234;Database=zhwedo");
            mysqlcon.Open();
            //MySqlCommand mysqlcmd = new MySqlCommand("select uname from sdb_members where uname='" + usname + "' ", mysqlcon);
            string mysqlcmd="select * from sdb_members where uname='" + usname + "'";
            MySqlDataAdapter date = new MySqlDataAdapter(mysqlcmd, mysqlcon);
            DataSet ds = new DataSet();
            date.Fill(ds, "mymuma");
            dr = ds.Tables["mymama"].Rows[0];//这里出现未处理NullReferenceException :未将对象引用设置到对象的实例 ...
            this.Luname.Text = dr["usname"].ToString();
            this.lemail.Text = dr["email"].ToString();
            this.Textname.Text = dr["name"].ToString();
}
我是一个初学者,这原来这个写法是用在access上的,现在我用在mysql上了!

解决方案 »

  1.   

    if(ds.Tables["mymama"].Rows.Count>0)
    {
     dr = ds.Tables["mymama"].Rows[0];
    ...
    }
      

  2.   

    这是空指针错误,说明没有数据,
    所以先做一下判断
    if(ds.Tables["mymama"].Rows.Count>0) 

        dr = ds.Tables["mymama"].Rows[0]; 
    }
      

  3.   

    if(ds.Tables[0].Rows.Count>0) 
    { }
    判断表是否为空,为空则不进行赋值操作
      

  4.   

    试下这个
      DataSet ds = new DataSet();
     date.Fill(ds, "mymuma");
    DataRow[] row = ds.Tables[0].Select();
     foreach (DataRow dr in row)
       {
                this.Luname.Text = dr["usname"].ToString();
                this.lemail.Text = dr["email"].ToString();
                this.Textname.Text = dr["name"].ToString();
      }
      

  5.   

    上面写错了,
    DataRow[] row = ds.Tables["mymama"].Select();
      

  6.   

    加上这句看行不行。
    dr = ds.Tables["mymama"].NewRow();
    dr = ds.Tables["mymama"].Rows[0];//这里出现未处理NullReferenceException :未将对象引用设置到对象的实例 ...
      

  7.   

    加上后
    dr = ds.Tables["mymama"].NewRow();   列“usname”不属于表 mymama。
    出现这个错误,但是是有这个字段的