以下是一个按钮单击事件的部分代码单击之后,错误指向textBoxReaderNo.Focus();并显示“未将对象引用设置到对象的实例”
将此句屏蔽之后,错误有指向textBoxReaderName.Text = DataSet1.Tables["reader"].Rows[0]["读者姓名"].ToString();
望高手解答
                string ReaderNo = textBoxReaderNo.Text;
                string connectionString = "Data Source=.;DataBase=tsglxt;Integrated Security=True";
                SqlConnection sqlConnection1 = new SqlConnection(connectionString);
                SqlCommand myCommand = sqlConnection1.CreateCommand();
                myCommand.CommandText = "select * from reader where 读者编号='" + ReaderNo + "'";
                SqlDataAdapter SqlDataAdapter1 = new SqlDataAdapter();
                SqlDataAdapter1.SelectCommand = myCommand;
                DataSet DataSet1 = new DataSet();
                int n = SqlDataAdapter1.Fill(DataSet1, "reaser");
                if (n == 0)
                {
                    MessageBox.Show("无此读者编号", "信息提示");
                    textBoxReaderNo = null;
                    textBoxReaderNo.Focus();
                }
                else
                {
                    //将该读者信息显示出来
                    textBoxReaderName.Text = DataSet1.Tables["reader"].Rows[0]["读者姓名"].ToString();
                    textBoxSex.Text = DataSet1.Tables["reader"].Rows[0]["读者性别"].ToString();
                    textBoxClass.Text = DataSet1.Tables["reader"].Rows[0]["读者类别"].ToString();
                    textBoxPaper.Text = DataSet1.Tables["reader"].Rows[0]["书证状态"].ToString();
                    myCommand.CommandText = "select * from borrow where 读者编号='" + ReaderNo + "'";
                 }

解决方案 »

  1.   

     textBoxReaderNo = null;
                        textBoxReaderNo.Focus();
    都是null 还怎么Focus??
      

  2.   

    textBoxReaderNo = "";
    textBoxReaderNo.Focus();
      

  3.   

    textBoxReaderNo = null;????
    textBoxReaderNo.Focus();--------------
    都有是null了,当然要报错了。
    在取DataSet之类的数据的时候,最好先做一个判断,比如:不是null且行数行大于0再取数据。
      

  4.   

    int n = SqlDataAdapter1.Fill(DataSet1, "reaser");
      

  5.   

    textBoxReaderNo = null;有问题吧。至少也是textBoxReaderNo.Text = "";
    如果你用的是VB.net,那么你可以按照你的写法
      

  6.   

    int n = SqlDataAdapter1.Fill(DataSet1, "reaser");[code=JScript]//由于LZ输入错误的//原因,对该table的name赋值为"reaser"
     textBoxReaderName.Text = DataSet1.Tables["reader"].Rows[0]["读者姓名"].ToString();
    //这里读取table.name="reader"的table.因为之前赋予的名字不对。所以没有在该DataSet中找到正确的tableName的table.所以Assert.IsTrue(DataSet1.Tables["reader"]==null)
    [/code]
      

  7.   

    this.textbox.text = null;
    对上面这个内容作下判断说明。
    看返回的记录是什么吧
      

  8.   

    创建数组或者对象的时候是不是没有new一下,我也碰到过,结果是创建数组的时候出错了