gpt4 book ai didi

c# - 我应该执行每个查询还是单个查询?

转载 作者:太空宇宙 更新时间:2023-11-03 22:29:36 24 4
gpt4 key购买 nike

我正在尝试使用 ado.net 将多条记录插入到表中,并打印插入的 id

我的代码是这样的:

List<string> listQuery = new List<string>()
{
"INSERT INTO Students (Name) VALUES ('student1');SELECT @@Identity;",
"INSERT INTO Students (Name) VALUES ('student2');SELECT @@Identity;",
"INSERT INTO Students (Name) VALUES ('student3');SELECT @@Identity;",
};
using (SqlConnection connection = new SqlConnection(_connectionString))
{
try
{
connection.Open();
using (SqlCommand command = new SqlCommand())
{
command.Connection = connection;

foreach (var myQuery in listQuery)
{
command.CommandText = myQuery;
int id = Convert.ToInt32((decimal)command.ExecuteScalar());
Console.WriteLine("Inserted: " + id);
}
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
//Close and dispose
connection.Close();
}
}

我在想,我是否应该像这样执行每个命令?或者连接所有查询并只执行一次?

如果我应该执行一次。我怎样才能得到插入记录的所有 id

最佳答案

您可以使用 OUTPUT返回身份 id

的子句
INSERT INTO Students (Name)
OUTPUT INSERTED.id
VALUES ('student1'), ('student2'), ('student3');

关于c# - 我应该执行每个查询还是单个查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58636341/

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