小编典典

将多行更新到SQL表

sql

假设有一个完全填充的数据String [n] [3] myData数组。

我想做这个:

for (String[] row : myData)
{
   SQL = "update mytable set col3 = row[2]
   where col1 = row[0] and col2=row[1];" 
}

显然,我已经遗漏了很多东西,但是我想尽可能简洁地表达这个想法。

有一个简单的方法可以在单个DB命令中执行此操作吗?一个不太简单的方法怎么样?

编辑:数据不是来自另一个表(这是Web表单提交-多项选择考试)。
由于该应用是面向Web的,因此必须是防注入的。参数化查询是我首选的处理方式。
我正在使用MS-SQL Server 2005

编辑:重新打开,因为这似乎是一个受欢迎的问题


阅读 161

收藏
2021-04-28

共1个答案

小编典典

如果使用的是Sql Server,则可以使用SqlBulkCopy。首先,您必须将数据放在DataTable中,这很容易,因为您已经将其存储在字符串数组中。

http://msdn.microsoft.com/zh-
CN/library/system.data.sqlclient.sqlbulkcopy.aspx

2021-04-28