DataTable最优保存到sql数据库

发布于 2024-09-13 10:51:48 字数 349 浏览 3 评论 0原文

我在 SqlServer DB 表中有具有相同结构的 DataTable 。 要将此 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();

}

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

I have DataTable with same structure in SqlServer DB Table.
To save data in a this DataTable to Sql DB I use code below:

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

}

How can I Insert Data with another way?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

披肩女神 2024-09-20 10:51:48

还有其他一些方法,请查看博客文章 我在这里写了关于从 .NET 高性能批量加载到 SQL Server 的内容。

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

每种方法都有优点/缺点 - 例如,如果您想很好地处理错误并在特定行发生错误时继续,SqlDataAdapter 会很方便。

There's a few other ways, check out the blog post I wrote here on high performance bulk loading to SQL Server from .NET.

To summarise, you can use an SqlDataAdapter to perform batch inserts (or updates), or for better performance you can use SQLBulkCopy (inserts only). The SqlDataAdapter approach demonstrated there took ~25s to insert 100,000 records into the database, compared to ~0.8s for SqlBulkCopy.

There's pros/cons to each approach - e.g. SqlDataAdapter is handy if you want to handle errors nicely and continue in the event of an error with a particular row.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文