我有一个int
数组,其中包含一些值,其大小未知(动态填充)。我想用这个数组更新数据库中的列(即数据库中第n个记录的列m将使用数组的第n个元素更新)。我怎样才能做到这一点?我应该在单独的sql中更新表的每个记录,类似于以下内容:
for(int i = 0; i < array.Length; i++)
{
string sqlCommand = "UPDATE TABLENAME SET THECOLUMN = " + array[i] + " WHERE ID = " + (i+1);
// Execute the command
}
,还是有更高效或简单的方法来做到这一点?
PS:我正在使用ACCESS数据库,通过C#将其连接到(ASP.NET)网站
答案 0 :(得分:2)
我会在一次往返中做到这一点
StringBuilder command = new StringBuilder();
for(int i = 0; i < array.Length; i++) {
command.Append("UPDATE TABLENAME SET THECOLUMN = " + array[i] +
" WHERE ID = " + (i+1) + ";");
}
// Execute the command HERE
“来回”到数据库是相当昂贵的,所以你通常希望你的通信“厚实而不健谈”。