加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

使用事务,同时删除一个表中数据以及插入所有数据到此表中

(2010-12-28 16:25:41)
标签:

杂谈

分类: Windows窗体程序

public  static void SqlBulkCopyMeth(string TableName, DataTable Dt,string SqlDeleteText)
         {
           //Dt存放了要插入的表中的所有数据

          //SqlDeleteText是删除一个表中记录的SQL语句
                 using (SqlTransaction transaction=MySqlConn.BeginTransaction())
                 {
                    SqlCommand sqlcom = MySqlConn.CreateCommand();
                    sqlcom.Transaction = transaction;
                    sqlcom.CommandText = SqlDeleteText;
                     using (SqlBulkCopy bulk = new SqlBulkCopy(MySqlConn,SqlBulkCopyOptions.KeepIdentity,transaction))
                     {
                         if(Dt.Rows.Count>0)
                         {
                             bulk.BatchSize=Dt.Rows.Count;
                             bulk.DestinationTableName=TableName;
                         }
                         try
                         {
                             sqlcom.ExecuteNonQuery();
                            
                             bulk.WriteToServer(Dt);
                             transaction.Commit();
                         }
                         catch
                         {
                             transaction.Rollback();

                         }
                     }
                    
                   
                     }
                 }

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有