我正在编写一个执行多个连续SELECT语句的存储过程.当我通过ADO.NET执行此过程时,我的目的是最终得到一个包含多个DataTable对象的DataSet.这表现得如预期.
我目前依赖于DataSet中表的顺序来匹配存储过程中SELECT语句的顺序,但是这个顺序实际上没有意义.最终必须维护程序的人不应该知道结果的预期顺序,维护申请的人也不应该知道程序中的陈述的顺序.
我想知道的是,是否可以在存储过程本身的每个SELECT语句的结果中分配名称,然后通过ADO.NET(希望无缝地)通过它来通过其名称访问每个表而不是它的顺序?
例如
// populate DataSet with results from stored proc DataSet ds = new DataSet(); dataAdapter.Fill(ds); // now access one of the resulting DataTable via name return ds.Tables["NamedResultFromTheProc"];
那么,有没有办法实现这一目标?或者我是否必须依赖SELECT语句的顺序并始终通过其索引访问所需的表?