情况如下:
我的存储过程返回两个结果集:#t1,#t2,已存入两个DataTable中dt1,dt2。这两个结果集的数据结构和数据库里表TB_TEMP的数据结构完全一样,#t1里的数据是准备插入TB_TEMP中的,已生成新的主键值。
#t2里的数据是准备更新TB_TEMP中已有数据的,靠主键值关联。现在我想通过使用dt1,dt2和SqlDataAdapter更新数据库TB_TEMP中的数据。我能否通过SqlDataAdapter的方法实现以上操作?该如何做?

解决方案 »

  1.   

    可以
    System.Data.SqlClient.SqlDataAdapter da = new System.Data.SqlClient.SqlDataAdapter("SELECT * FROM TB_TEMP",conn);
    System.Data.SqlClient.SqlCommandBuilder cb = new System.Data.SqlClient.SqlCommandBuilder(da);
    da.Update("dt1");
    da.Update("dt2");随便写了下,大概就是这样
      

  2.   

    SqlCommandBuilder 会生成Insert、Update、Delete语句和连接对象给SqlDataAdapter的InsertCommand、UpdateCommand、DeleteCommand属性赋值是么?那么在执行SqlDataAdapter的Update方法时,它是靠什么来确认dt1里是新插入数据,dt2里是要更新数据的?请指教,谢谢。