DataTable最优保存到sql数据库

时间:2010-08-11 10:15:51

标签: sql-server ado.net

我的DataTable在Sql Server数据库表中具有相同的结构。 要将此DataTable中的数据保存到Sql DB,请使用以下代码:

sqlCommand mcd;

for(int i=0;i<dataTable.Rows.Count;i++)
{
mcd=new SqlCommand();
cmd.CommandText="Insert into MSSQLtable values("+dataTable.Rows[i][0]+dataTable.Rows[i][1]+")";
cmd.ExecuteNonQuery();

}

如何以其他方式插入数据?

1 个答案:

答案 0 :(得分:1)

还有其他一些方法,请查看有关从.NET向SQL Server进行高性能批量加载的博文I wrote here

总而言之,您可以使用SqlDataAdapter执行批量插入(或更新),或者为了获得更好的性能,您可以使用SQLBulkCopy(仅限插入)。 SqlDataAdapter方法证明,在数据库中插入100,000条记录需要大约25秒,而SqlBulkCopy需要大约0.8秒。

每种方法都有利弊 - 例如如果您希望很好地处理错误并在特定行发生错误时继续,则SqlDataAdapter非常方便。