gpt4 book ai didi

c# - 在一次往返中执行多个 SQL 命令

转载 作者:IT王子 更新时间:2023-10-29 04:12:39 24 4
gpt4 key购买 nike

我正在构建一个应用程序,我想将多个查询批处理到一个到数据库的单次往返中。例如,假设单个页面需要显示用户列表、组列表和权限列表。

所以我已经存储了过程(或者只是简单的 sql 命令,如“select * from Users”),我想执行其中三个。但是,要填充这一页,我必须进行 3 次往返。

现在我可以编写单个存储过程(“getUsersTeamsAndPermissions”)或执行单个 SQL 命令“select * from Users;exec getTeams;select * from Permissions”。

但我想知道是否有更好的方法来指定在一次往返中执行 3 个操作。好处包括更容易进行单元测试,并允许数据库引擎并行化查询。

我正在使用 C# 3.5 和 SQL Server 2008。

最佳答案

类似于 this .该示例可能不是很好,因为它没有正确处理对象,但您明白了。这是清理后的版本:

using (var connection = new SqlConnection(ConnectionString))
using (var command = connection.CreateCommand())
{
connection.Open();
command.CommandText = "select id from test1; select id from test2";
using (var reader = command.ExecuteReader())
{
do
{
while (reader.Read())
{
Console.WriteLine(reader.GetInt32(0));
}
Console.WriteLine("--next command--");
} while (reader.NextResult());

}
}

关于c# - 在一次往返中执行多个 SQL 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2336362/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com