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

标签 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) 网站

最佳答案

我会在一次往返中完成

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/

相关文章:

c# - Visual C# 2010 速成版 : Same Form But Different Size on Win7 and WinXP

C# 和 MySql.Data.MySqlClient

asp.net - 传递值以在 Azure AD B2C 中预填充自定义字段

mysql - 在 MS sql 上连接 5 个表

C# - 整数的正确验证

c# - 如何使用 (anyword +'་') 创建一个后续字符,然后使用 c# 在 WinForm 中创建下一个新行?

asp.net - 使用 string.format 绑定(bind)到文本框

c# - 这是什么代码 : Func < T, string > 我不明白

mysql - 按一列的总和与另一列的一般值进行错误分组

mysql - 如何使用 SQL 连接从四个表中获取数据