存储过程返回多个表,结果集被分配给DataSet。我可以使用每个表的名称访问DataSet中的表吗?
例如: -
DataSet ds =选择(despatch_Packing_ID);
DataSet包含4个表。
我被强制访问表格 DataTable dtSales = ds.Tables [0];
如何以数据的形式访问DataTable DataTable dtSales = ds.Tables [“Sales”]; //销售是表格,我从中获取数据
提前致谢。
答案 0 :(得分:1)
默认情况下,DbDataAdapter生成的表名称将具有名称“Table”,“Table1”,“Table2”,...
您可以通过specifying DataTableMappings覆盖此内容。
例如:
DbDataAdapter adapter = ...
...
adapter.TableMappings.Add("Table", "Sales");
adapter.TableMappings.Add("Table1", "Customers");
...
adapter.Fill(myDataSet);
...
答案 1 :(得分:0)
问题是存储过程中的查询可以跨越多个表和视图,甚至只返回一个值。
DataTable如何获得其名称?
答案 2 :(得分:0)
我认为它不起作用,因为返回的数据可能来自多个连接的表。在这种情况下,无法通过名称识别它们。但我没有检查过自己,所以这只是我的猜测。