我想在 SQL Server 中一次存储多行。我采用了一种存储多行内容的列表数据类型。现在我想将此列表直接传递给 SQL Server。我不想使用 for 循环来一一插入值。如何将整个列表作为参数传递给我的存储过程?
问问题
541 次
2 回答
0
您可以使用逗号分隔的字符串,并在 sql 端解析它。这是最快的解决方案,因此您不会在 c# 端进行循环时打开连接。
于 2013-07-01T10:35:42.383 回答
-1
您可以使用Batch Update
or的概念,SQLBulkCopy
也可以将 Array 作为 Parameter 传递给Command Object
.
您还可以将XML
格式的数据传递给SQL Server Stored Procedure
.
或最简单的方法为插入创建多个附加字符串,如下所示:
string sqlText = "INSERT INTO Person VALUES ( '" + txtPersonId1.Text.Trim() + "',' " + txtPersonName1.Text + "'); ";
sqlText += "INSERT INTO Person VALUES ( '" + txtPersonId2.Text.Trim() + "',' " + txtPersonName2.Text + "'); ";
sqlText += "INSERT INTO Person VALUES ( '" + txtPersonId3.Text.Trim() + "',' " + txtPersonName3.Text + "'); ";
sqlText += "INSERT INTO Person VALUES ( '" + txtPersonId4.Text.Trim() + "',' " + txtPersonName4.Text + "'); ";
所有这些方法都在这里解释。
于 2013-07-01T10:58:38.147 回答