我正在尝试使用SqlCommand从C#向SQL Server插入多行。我正在形成一个简单的查询,如下所示:
Insert into temp(field1, field2) values (1, 'test'), (2, 'test1'), (3, 'test2')
依此类推,直到100行。出于示例目的,我在这里仅提供了几个字段,但它实际上包含25个字段,其中20个是字符串。
这些数据来自第三方API作为列表,我正在形成多行插入查询数据。
我知道存在sql注入或撇号问题。使用SqlParameter可以避免这种情况。但是如何在不面对sql注入或撇号问题的情况下插入多行?这可能使用SqlParameter吗?
我不想制作多个插入语句并将其发送到db,因为这会减慢我的进程。有没有替代解决方案。
答案 0 :(得分:2)
使用SqlBulkCopy Class。对于超过100条记录,这将是更好的选择。
请参阅:Is it possible to insert an entire VB.NET DataTable into a SQL Server at once