我运行这段代码:
string connStr2 = ConfigurationSettings.AppSettings["Connstr"]; 
SqlConnection conn2 = new SqlConnection(connStr);

string sqlStr2 = "SELECT * FROM Tasks ";

SqlCommand cmd1 = new SqlCommand(sqlStr2, conn);
    
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd1;DataSet ds = new DataSet();conn.Open();da.Fill(ds);

DataRow row = ds.Tables["Tasks"].Rows[0];conn.Close();结果:
-------------------------------------
未将对象引用设置到对象的实例。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误: 行 168://  TextBoxTrainSustain.Text = row["TrainSustain"].ToString();
---------------------------------------------请教各位高手,这是怎么回事,错误在哪里????????????
不胜感激!!!!!!!!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    if (row["TrainSustain"]!=null)
    {
       TextBoxTrainSustain.Text = row["TrainSustain"].ToString();
    }
      

  2.   

    try:
    da.Fill(ds,"Tasks");
    TextBoxTrainSustain.Text = ds.Tables["Tasks"].Rows[0]["TrainSustain"].ToString();
      

  3.   

    DataRow row = ds.Tables[0].Rows[0];
      

  4.   

    if (row["TrainSustain"]!=null)
    {
       TextBoxTrainSustain.Text = row["TrainSustain"].ToString();
    }
      

  5.   

    if(ds.Tables["Tasks"].Rows.Count != 0)
    {
         DataRow row = ds.Tables["Tasks"].Rows[0];
    }
      

  6.   

    TextBoxTrainSustain.Text = row["TrainSustain"].ToString();1、TextBoxTrainSustain不是对象
    2、TrainSustain不是行中的列
    3、row未实例化
      

  7.   

    感谢各位大侠的大力相助!!!!
    不好意识,我写问题的时候搞错了,现更正过来:
    :))))
    我运行这段代码:
    string connStr = ConfigurationSettings.AppSettings["Connstr"]; 
    SqlConnection conn = new SqlConnection(connStr);

    string sqlStr = "SELECT * FROM Tasks ";

    SqlCommand cmd = new SqlCommand(sqlStr, conn);
        
    SqlDataAdapter da = new SqlDataAdapter();
    da.SelectCommand = cmd;DataSet ds = new DataSet();conn.Open();da.Fill(ds);

    DataRow row = ds.Tables["Tasks"].Rows[0];conn.Close();结果:
    -------------------------------------
    未将对象引用设置到对象的实例。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误: 行 168://  DataRow row = ds.Tables["Tasks"].Rows[0];
    ---------------------------------------------
      

  8.   

    if (row["TrainSustain"]!=System.DBNull.Value)
    {
       TextBoxTrainSustain.Text = row["TrainSustain"].ToString();
    }
      

  9.   

    感谢各位大侠的大力相助!!!!
    不好意识,我写问题的时候搞错了,现更正过来:
    :))))
    我运行这段代码:
    string connStr = ConfigurationSettings.AppSettings["Connstr"]; 
    SqlConnection conn = new SqlConnection(connStr);

    string sqlStr = "SELECT * FROM Tasks ";

    SqlCommand cmd = new SqlCommand(sqlStr, conn);
        
    SqlDataAdapter da = new SqlDataAdapter();
    da.SelectCommand = cmd;DataSet ds = new DataSet();conn.Open();da.Fill(ds);

    DataRow row = ds.Tables["Tasks"].Rows[0];conn.Close();结果:
    -------------------------------------
    未将对象引用设置到对象的实例。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误: 行 168: DataRow row = ds.Tables["Tasks"].Rows[0];
    ---------------------------------------------请教各位高手,这是怎么回事,错误在哪里????????????
    不胜感激!!!!!!!!!!!!!!!!!!!!!!!
      

  10.   

    ds.Tables["Tasks"].Rows[0];
    ---->
    ds.Tables[0].Rows[0];
      

  11.   

    行 168: DataRow row = ds.Tables["Tasks"].Rows[0];
    改为:
    DataRow row = new DataRow();
    row=ds.Tables["Tasks"].Rows[0];
    试试!
      

  12.   

    xzq686(瞬):
    不能这样写,语法错误:
    DataRow row = new DataRow();
      

  13.   

    da.Fill(ds);
    //这句是把da填充到了ds,但ds中没有Tasks这个datatable

    DataRow row = ds.Tables["Tasks"].Rows[0];
    //既然没有Tasks这个datatable,这句肯定要出错喽
      

  14.   

    你这样写
    da.Fill(ds);
    那么取出来也应该是
    DataRow row = ds.Tables[0].Rows[0];
      

  15.   

    da.Fill(ds,"Tasks");
    //填充da的结果到Tasks这个datatable
      

  16.   

    if(ds!=null  && ds.Tables["Tasks"]!=null && ds.Tables["Tasks"].Rows.Count>0 )
    {
    DataRow row = ds.Tables["Tasks"].Rows[0];
    }
    //
      

  17.   

    da.Fill(ds,"Tasks");

    DataRow row = ds.Tables["Tasks"].Rows[0];或者:da.Fill(ds)

    DataRow row = ds.Tables[0].Rows[0];
      

  18.   

    把da.Fill(ds);改成da.Fill(ds,"Tasks");
    试试