GridViewMove.DataBind();
        string connectionString = ConfigurationManager.ConnectionStrings["MyDB"].ConnectionString;
        SqlConnection myConnection = new SqlConnection(connectionString);
        myConnection.Open();
        String SQLconn = "select * from teacher";
        SqlCommand myCommand = new SqlCommand(SQLconn, myConnection);
        SqlDataReader myReader = myCommand.ExecuteReader();
        myReader.Read();
        TextBox myTextBox = DetailsViewMove.FindControl("DetailsViewMoveTextBox") as TextBox;
        myTextBox.Text = myReader["TeacherId"].ToString();
        myConnection.Close();

解决方案 »

  1.   

    change
    TextBox myTextBox = DetailsViewMove.FindControl("DetailsViewMoveTextBox") as TextBox;
    myTextBox.Text = myReader["TeacherId"].ToString();with
    TextBox myTextBox = DetailsViewMove.FindControl("DetailsViewMoveTextBox") as TextBox;
    if( myTextBox != null )
         myTextBox.Text = myReader["TeacherId"].ToString();
      

  2.   

    一般情况下,出现这个错误是你使用了空对象,比如没有值的cookie,控件等,按照常规运行思维查看下你的代码就知道了
      

  3.   

    再请问一下
    "select * from(teacher inner join department on teacher.departmentid=department.departmentid) inner join unit on unitid=unit.unitid"
    我这句话写的哪有错啊?~
    为什么提示列名UNIID不明确啊?
      

  4.   

    Have a try!
    "select * from (teacher inner join department on teacher.departmentid=department.departmentid) as temptable inner join unit on temptable.unitid=unit.unitid"
      

  5.   

    修改,
    TextBox myTextBox = DetailsViewMove.FindControl("DetailsViewMoveTextBox") as TextBox;
    if(myTextBox  != null)
    myTextBox.Text = myReader["TeacherId"].ToString();建议楼主进行单步调试,很快能够发现问题出在哪一行代码。
      

  6.   

    设个断点,看看是哪行错,在那行看看哪个对象null了就行了.
      

  7.   

    对于用户new来得控件一般要先check null一下