使用foreach将许多内容插入TABLE

时间:2014-04-01 04:24:34

标签: c# sql .net sql-server winforms

我不确定如何在表格中正确插入多行。自从我做任何数据库工作以来已经有几年了。只做这样的事情可以吗?:

foreach(var something in somelist)
{
    SqlCommand cmd = new SqlCommand(con, str);

    // Insert row into db
}

2 个答案:

答案 0 :(得分:4)

示例代码:

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();
        }
    }
}

答案 1 :(得分:1)

根据您对“多行”的含义以及这些行的来源,您可以使用bcp实用程序或SqlBulkCopy:

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

两者都比RBAR方法快得多。