如何使用数组值更新数据库中的列?

时间:2011-12-17 17:02:52

标签: c# asp.net sql database ms-access

我有一个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)网站

1 个答案:

答案 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

“来回”到数据库是相当昂贵的,所以你通常希望你的通信“厚实而不健谈”。