我正在尝试填充包含 2 个具有一对多关系的表的 DataSet。我正在使用 DataReader 来实现这一点:
public DataSet SelectOne(int id)
{
DataSet result = new DataSet();
using (DbCommand command = Connection.CreateCommand())
{
command.CommandText = "select * from table1";
var param = ParametersBuilder.CreateByKey(command, "ID", id, null);
command.Parameters.Add(param);
Connection.Open();
using (DbDataReader reader = command.ExecuteReader())
{
result.MainTable.Load(reader);
}
Connection.Close();
}
return result;
}
但是我只有一张桌子坐满了。我如何实现我的目标 - 填写两个表格?
如果可能的话,我想使用 DataReader 而不是 DataAdapter。
原文由 Andriy Zakharko 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您使用多个 select 语句发出单个命令,则可以使用 NextResult 方法移动到数据读取器中的下一个结果集:http: //msdn.microsoft.com/en-us/library/system.data.idatareader.nextresult。 aspx
我展示了它的外观: