我可以在.net中组合多个选择查询,以便它们以1批返回吗?

问题描述 投票:2回答:3

我想通过1个数据库连接(SQL Server)执行几个select sql查询。查询将包含不同的表数据,因此不能使用sql完成。

基本上我想这样做

select * from Table1
Go
Select * from Table2
Go
Select * from Table3

然后将此查询发送到数据库,然后我想在一次点击中返回结果,这样我就可以使用3个数据读取器读取数据。

这可能是使用c#和sqlserver吗?

c# sql-server
3个回答
2
投票

GO不是SQL语句。因此,您必须将3个查询作为单个批次发送到服务器:

SqlCommand cmd = new SqlCommand(
@"select * from Table1;
select * from Table2;
select * from Table3;", connection);
using (SqlDataReader rdr = cmd.ExecuteReader())
{
   while (rdr.Read())
   {
     //read results from Table1
   };
   rdr.NextResult();
   while(rdr.Read())
   {
    //read results from Table2
   }
   rdr.NextResult();
   while(rdr.Read())
   {
     //read results from Table3
   }
 }


2
投票
© www.soinside.com 2019 - 2024. All rights reserved.