string connectionString = ConfigurationManager.AppSettings["aaa"];
SqlConnection myConnection = new SqlConnection(connectionString);
SqlCommand myCommand = new SqlCommand(mysql, myConnection);
SqlDataAdapter myAdapter = new SqlDataAdapter();
myAdapter.SelectCommand = myCommand;
DataSet myDataSet = new DataSet();
myAdapter.Fill(myDataSet);
mydatagrid.DataSource = myDataSet;
mydatagrid.DataBind();
以上代码执行正常。
但是在空白处加上
mylabel.Text = myDataSet.Tables["tablename"].Rows[0]["fieldname"].ToString();
//mylabel是页面中的一个asp:label控件就会出错:
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。网上看到出现同样问题的都是sqldatareader,dataset应该不会有这种问题呀,而且看到的例程都是这样写的
SqlConnection myConnection = new SqlConnection(connectionString);
SqlCommand myCommand = new SqlCommand(mysql, myConnection);
SqlDataAdapter myAdapter = new SqlDataAdapter();
myAdapter.SelectCommand = myCommand;
DataSet myDataSet = new DataSet();
myAdapter.Fill(myDataSet);
mydatagrid.DataSource = myDataSet;
mydatagrid.DataBind();
以上代码执行正常。
但是在空白处加上
mylabel.Text = myDataSet.Tables["tablename"].Rows[0]["fieldname"].ToString();
//mylabel是页面中的一个asp:label控件就会出错:
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。网上看到出现同样问题的都是sqldatareader,dataset应该不会有这种问题呀,而且看到的例程都是这样写的
mydatagrid.DataSource = myDataSet;
mydatagrid.DataBind();mylabel.Text = DataBinder.Eval(mydatagrid.DataItem, "fieldname", "{0:c}");就可以通过。
改用mylabel.Text = myDataSet.Tables[0].Rows[0]["fieldname"].ToString()试试。