gpt4 book ai didi

c# - ExecuteNonQueryAsync sql 命令为 SP 提供 DB 中的多个参数集

转载 作者:行者123 更新时间:2023-12-02 20:01:44 29 4
gpt4 key购买 nike

我正在读取 Json 并将其插入表中。我想通过不等待来加速程序,因为每个插入都是唯一的。

出于测试原因,我创建了一个循环

for (int i = 0; i < 10; i++)
{
insert.Parameters.AddWithValue("@id", i);
insert.Parameters.AddWithValue("@type", "test");

insert.ExecuteNonQueryAsync();
}

我运行这个,当我进行跟踪时,数据库会返回这个。

exec SP_Insert @id = 1, @type = 'test',@id = 2, @type = 'test',@id = 3, @type = 'test'

这将无法插入,因为 SP 认为我给了它很多参数。

有什么办法可以解决这个问题吗?

最佳答案

添加 await 并确保不要向每个循环添加新参数。

当重复使用如下参数时,您必须设置正确的Size为参数。

insert.Parameters.Add("@id", SqlDbType.Int);
// Note: Set length of the target column. NVarChar -1 maps to nVarchar(max)
insert.Parameters.Add("@type", SqlDbType.NVarChar, -1);

for (int i = 0; i < 10; i++)
{
insert.Parameters["@id"].Value = i;
insert.Parameters["@type"].Value = "test";

await insert.ExecuteNonQueryAsync();
}

关于c# - ExecuteNonQueryAsync sql 命令为 SP 提供 DB 中的多个参数集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55713602/

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