插入命令的多行 - 撇号问题

时间:2010-09-23 04:27:45

标签: c# sql-server sql-injection bulkinsert apostrophe

我正在尝试使用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,因为这会减慢我的进程。有没有替代解决方案。

1 个答案:

答案 0 :(得分:2)

使用SqlBulkCopy Class。对于超过100条记录,这将是更好的选择。

请参阅:Is it possible to insert an entire VB.NET DataTable into a SQL Server at once