C# 使用SqlBulkCopy,批量导入数据,并显示导入进度

//Use BCP Import DataSet to DB
SetHint("预导入数据中...");
using (System.Data.SqlClient.SqlBulkCopy bcp = new System.Data.SqlClient.SqlBulkCopy(dbh.getConnString()))
{
	bcp.SqlRowsCopied += new System.Data.SqlClient.SqlRowsCopiedEventHandler(bcp_SqlRowsCopied);
	bcp.BatchSize = 100;//每次传输行数
	bcp.NotifyAfter = 100;//传输多少行后提示
	bcp.DestinationTableName = "TableName";
	bcp.WriteToServer(ds.Tables[0]);
}
SetHint("预导入完成...");
	
	
private void bcp_SqlRowsCopied(object sender, System.Data.SqlClient.SqlRowsCopiedEventArgs e)
{
	SetHint("已导入数据行数:"+e.RowsCopied.ToString());
	this.Update();
}

private void SetHint(string str)
{
	tbHint.Text = str;
	Application.DoEvents();
}

猜你喜欢

转载自blog.csdn.net/jyh_jack/article/details/79325441
今日推荐