我有以下存储过程
Create procedure psfoo ()
AS
select * from tbA
select * from tbB
Run Code Online (Sandbox Code Playgroud)
然后我以这种方式访问数据:
Sql Command mySqlCommand = new SqlCommand("psfoo" , DbConnection)
DataSet ds = new DataSet();
mySqlCommand.CommandType = CommandType.StoredProcedure;
SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter();
mySqlDataAdapter.SelectCommand = mySqlCommand;
mySqlDataAdapter.Fill(ds);
Run Code Online (Sandbox Code Playgroud)
现在,当我想访问我的表时,我必须这样做:
DataTable datatableA = ds.Tables[0];
DataTable datatableB = ds.Tables[1];
Run Code Online (Sandbox Code Playgroud)
数据集Tables属性也通过字符串(而不是int)获得了一个访问器.
是否有可能在SQL代码中指定表的名称,以便我可以写这个:
DataTable datatableA = ds.Tables["NametbA"];
DataTable datatableB = ds.Tables["NametbB"];
Run Code Online (Sandbox Code Playgroud)
我正在使用SQL Server 2008,如果这有所不同.