使用 foreach 将许多内容插入到 TABLE 中

本文关键字:TABLE 插入 foreach 许多内 使用 | 更新日期: 2023-09-27 17:55:30

我不确定如何在表中正确插入许多行。我已经有几年没有做任何数据库的事情了。做这样的事情可以吗?

foreach(var something in somelist)
{
    SqlCommand cmd = new SqlCommand(con, str);
    // Insert row into db
}

使用 foreach 将许多内容插入到 TABLE 中

示例代码:

using (SqlConnection con= new SqlConnection (conString))
{
    con.Open();
    foreach(var something in somelist)
    {
        using (SqlCommand cmd = new SqlCommand (insertSQLString, con))
        {
            cmd.Parameters.AddWithValue("@param1", something.SomeVal1);
            cmd.Parameters.AddWithValue("@param2", something.SomeVal2);
            cmd.ExecuteNonQuery();
        }
    }
}

根据"许多行"的含义以及这些行的来源,可以使用 bcp 实用工具或 SqlBulkCopy:

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.aspx

两者都将比 RBAR 方法更快地工作。