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,执行,然后在生成语句,在执行,如此循环下去... 肯定不会报错~,不错可能这个过程中应该有事务处理...
它内部有一个区,改动过的东西的原来记录会保存在另一个地方。会保留改动的行的集合。而不是到更新时才检查。
如果5行改动过的数据中有2行数据改动后数据不符合要求,会不会产生事务撤销?好像没有事务处理吧?hehe,一大堆问题了,希望各位讨论一下!可以使用事务,在connection 对象中,也可查看错误列表,会纪录促错的的数据,原因。