我需要为我的应用程序准备进度条。我正在通过文本文件将数据上传到SQL Server,但是这需要很多时间,我也使用了后台工作程序,但是工作不正常,所以我只需要知道有什么方法可以在SQL大容量复制中使用进度栏它告诉我插入了2000条记录?
这是我的代码:
public void bulkinsert(string tablename, DataTable dt)
{
if (con.State == ConnectionState.Closed)
{
con.Open();
}
SqlBulkCopy blkcopy = new SqlBulkCopy(con);
blkcopy.DestinationTableName = tablename;
blkcopy.BatchSize = dt.Rows.Count;
blkcopy.BulkCopyTimeout = 1500;
blkcopy.WriteToServer(dt);
blkcopy.Close();
}
非常感谢您的回复。
最佳答案
您需要处理SqlBulkCopy.SqlRowsCopied事件
每次由NotifyAfter指定的行数发生
财产已处理。
我还将使用Async Await并使用Progress<T>
而不是后台工作程序