c# – 为SQL Server结果集中的表分配名称
发布时间:2020-12-15 17:39:10 所属栏目:百科 来源:网络整理
导读:我正在编写一个执行多个连续SELECT语句的存储过程.当我通过ADO.NET执行此过程时,我的目的是最终得到一个包含多个DataTable对象的DataSet.这表现得如预期. 我目前依赖于DataSet中表的顺序来匹配存储过程中SELECT语句的顺序,但是这个顺序实际上没有意义.最终必
我正在编写一个执行多个连续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语句的顺序并始终通过其索引访问所需的表? 解决方法
我没试过这个,但是你不能改变存储过程的结构,这样你就有一个查询在每个数据查询之前返回表的名字吗?
即 select 'TableName' select * from Table where 1 = 1 然后通过创建表并将其添加到手动构建数据集? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |