我正在读取 Json 并将其插入表中。我想通过不等待来加速程序,因为每个插入都是唯一的。
所以出于测试原因我创建了一个循环
for (int i = 0; i < 10; i++)
{
insert.Parameters.AddWithValue("@id", i);
insert.Parameters.AddWithValue("@type", "test");
insert.ExecuteNonQueryAsync();
}
Run Code Online (Sandbox Code Playgroud)
我运行这个,当我进行跟踪时,数据库会返回这个。
exec SP_Insert @id = 1, @type = 'test',@id = 2, @type = 'test',@id = 3, @type = 'test'
Run Code Online (Sandbox Code Playgroud)
然后它无法插入,因为 SP 认为我给了它很多参数。
有没有什么办法解决这一问题?
添加await并确保不要向每个循环添加新参数。
当重复使用如下参数时,您必须为参数设置正确的大小。
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();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
894 次 |
| 最近记录: |