我有一个 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) 网站
最佳答案
我会在一次往返中完成
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
与数据库“来回”的成本相当高,因此您通常希望您的通信“粗暴而不是喋喋不休”。
关于c# - 如何使用数组值更新数据库中的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8546386/