我需要为我的应用程序准备进度条。我正在通过文本文件将数据上传到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>而不是后台工作程序

08-18 04:52