好象没人回答你,我也想知是否有事务处理。要不自己写代码验证,太苦了吧!!!UP,UP。

解决方案 »

  1.   

    //使用系统生成的SqlDataAdapter来绑定一个dataSet到一个dataGrid后,如果你在dataGrid内编辑select出来的数据,然后使用SqlDataAdapter得update方法提交数据库可以把所以改动过的数据提交到数据库,他的原理是不是扫描dataset所有行,然后判断每一行数据的状态,如果曾经改动过,就update一次?这里面会不会很慢,
    它内部有一个区,改动过的东西的原来记录会保存在另一个地方。会保留改动的行的集合。而不是到更新时才检查。
    如果5行改动过的数据中有2行数据改动后数据不符合要求,会不会产生事务撤销?好像没有事务处理吧?hehe,一大堆问题了,希望各位讨论一下!可以使用事务,在connection 对象中,也可查看错误列表,会纪录促错的的数据,原因。
      

  2.   

    datagird或者dataset或者dataadapter中,它至少建立了两个缓冲区:记录delete和modify的情况。powerbuilder中是这么处理的。而且,我发现,如果我们自己做一个单据,不依靠数据绑定的这些东西,也得要考虑这些问题,麻烦啊!!!
      

  3.   

    各位老兄,谁能告诉我,学习C#真的有前途吗?我的老师让我学习c#,可是我的同学都在学c++.
      

  4.   

    juqiang(鞠强) 说得好象没错,pb中有primarybuffer,deletebuffer等,但是我觉得.net中是存储不同的语句而已,可以看到,一个dataadapter所带的那些command一般会有insert,update,delete,而这些语句都不是简简单单的根据主键来判断是否需要更新的语句,如update语句,就是update sss set aa=@@aa,bb=@bb where aa=@original_aa,bb=@original_bb,以所所有的字段是否向等来判断是否更新,效率可能慢了点,但是灵活性却是高了~,处理的时候,可能就是根据dataset的状态,如需要更新,则动态的生成一句sql,执行,然后在生成语句,在执行,如此循环下去...  肯定不会报错~,不错可能这个过程中应该有事务处理...