C# 在asp中获取数据行时对象引用未设置异常
C# 在asp中获取数据行时对象引用未设置异常,c#,asp.net,datatable,datarow,C#,Asp.net,Datatable,Datarow,对象引用未设置为对象的实例从数据表获取数据行时发生异常。有人能给出解决办法吗 我正在尝试的代码如下所示: OleDbDataAdapter da = new OleDbDataAdapter("select * from input_alignments", cn); DataSet ds = new DataSet(); da.Fill(ds); DataTable table = ds.Tables["input_alignments"]; foreach (DataRow row in t
对象引用未设置为对象的实例
从数据表
获取数据行
时发生异常。有人能给出解决办法吗
我正在尝试的代码如下所示:
OleDbDataAdapter da = new OleDbDataAdapter("select * from input_alignments", cn);
DataSet ds = new DataSet();
da.Fill(ds);
DataTable table = ds.Tables["input_alignments"];
foreach (DataRow row in table.Rows)//here exception occur
{
sb.Append(row["word1"].ToString();
}
异常的原因可能是什么?在填充数据集之前,您似乎忘记了将表“input\u alignments”添加到数据集中 本文档在此给出了一个示例:
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.
可能发生的情况是,由于未声明该表,因此它不会成为foreach循环中的引用。您可以尝试使用对.Tables[0]的引用而不是缺少的名称来验证这一点
DataSet.Fill()的完整文档如下:
由于查询只返回一个结果集,您只需按如下方式加载数据:
OleDbDataAdapter da = new OleDbDataAdapter("select * from input_alignments", cn);
DataSet ds = new DataSet();
da.Fill(ds);
DataTable table = ds.Tables[0]; // use integer index instead of string one
foreach (DataRow row in table.Rows)
{
sb.Append(row["word1"].ToString();
}
另外,请确保正确初始化了
sb
。能否向我们展示sb
的声明?