比如我现在 要向两张表插入 相同的数据,在同步插入一张表的时候在异步插入另一张表现在有两个sqlcommand分别是sqlcom1,sqlcom2;用来向两张不同的表插入比如这样做 
public void test()
{
      sqlcom1.ExecuteNonQuery();//正常执行
      AsyncCallback callback = new AsyncCallback(MyCallBack);
      sqlcom2.beginExecuteNonQuery(callback,sqlcom2);
}
 private void MyCallBack(IAsyncResult result)
 {
       using (SqlCommand sqlcom = result.AsyncState as SqlCommand)
       {
           sqlcom.EndExecuteNonQuery(result);
       }      
 }我要向两张不同的表插入相同的数据,我这种做法思路是否正确?利用异步来实现思路应该是怎样的呢?

解决方案 »

  1.   

    推荐你把旧数据导出,用sqlldr把旧数据直接装新系统
      

  2.   

    顶楼上的,你认为我的sqlldr怎么样
      

  3.   

    这个需求并不存在,只是一个用代码实现同步的想法而已,重点是代码 
     
    ==>
    代码是可以完成基本的功能,但不能保证cmd2能正确执行.可能造成数据不完整性.
      

  4.   

    顶慕白兄.在Transaction中用异步?呵呵
    出错如何回滚呢?
    异步相当于开辟额外线程在处理,该线程一定意义上是独立的.