您的位置:首页 > 数据库 > SQL

SqlBulkCopy类 基本使用方法

2011-08-18 23:11 211 查看
View Code

private void button1_Click(object sender, EventArgs e)
{
try
{
string DatabaseOne = "Data Source = DATABASE-VPC\\SQL2005; User ID = sa; password = admin; Initial Catalog = AdventureWorks; Pooling=true";
string DatabaseTwo = "Data Source = DATABASE-VPC\\SQL2005; User ID = sa; password = admin; Initial Catalog = Jiang; Pooling=true";
SqlConnection Conn = new SqlConnection(DatabaseOne);
SqlCommand cmd = new SqlCommand();
cmd.Connection = Conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select * from TableCopyTest";
Conn.Open();
DataSet ds = new DataSet();
SqlDataAdapter per = new SqlDataAdapter(cmd);
per.Fill(ds, "One");
cmd.ExecuteNonQuery();
SqlBulkCopy copytable = new SqlBulkCopy(DatabaseTwo, SqlBulkCopyOptions.UseInternalTransaction);
copytable.BulkCopyTimeout = 500000;
copytable.SqlRowsCopied += new SqlRowsCopiedEventHandler(copytable_SqlRowsCopied);
copytable.NotifyAfter = ds.Tables[0].Rows.Count;

copytable.DestinationTableName = "TableCopyTwo";
copytable.ColumnMappings.Add("uid", "pass");///互换对应列
copytable.WriteToServer(ds.Tables[0]);
}
catch (Exception ex) { MessageBox.Show(ex.Message); }
}

void copytable_SqlRowsCopied(object sender, SqlRowsCopiedEventArgs e)
{
this.label1.Text = "完成! 共:" + e.RowsCopied.ToString();
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: