0

像你一样知道填充数据集的更简单方法是使用这样的 dataAdapter: DataSetEmp myDataSet = new DataSetEmp(); ...(这里 Id 做了一个选择请求..)

SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = myCommand1;
adapter.Fill(myDataSet.myDataTable1);

AND ......(这里 Id 做了一个选择请求..)

 SqlDataAdapter adapter2 = new SqlDataAdapter();
  adapter2.SelectCommand = myCommand2;
  adapter2.Fill(myDataSet.myDataTable2);

//我有一个水晶报表

CrystalReport1 report1 = new CrystalReport1();
report1.setDataSource(myDataSet);

这种方式效果很好,但我想用 DataReader 而不是 DataAdapter 填充数据,因为我想在 while(myReader.read()){ ....} 循环中检查一些值。

4

1 回答 1

0

您必须DataTable使用其方法和属性手动填充。例如。依次创建每个包含DataTable的内容(本质上是重新创建 的实现DataAdapter.Fill)。

或者,您可以使用DataAdapterand 在将其传递给 Crystal Reports 之前使用这些相同的成员来修改DataTable的内容。

于 2012-07-26T14:39:13.673 回答