日期:2014-05-16  浏览次数:20861 次

请教个关于操作数据库的问题
conn.begintrans
conn.committrans
的作用是什么?每次对数据库更新update都要用上述语句吗?
------解决方案--------------------
保持数据的一致性,这个是数据库的概念,如并发访问数量大,最好用这个,要不有可能导致数据不一致
------解决方案--------------------
begintrans 开始事务
committrans 提交事务

要不要用取决于你程序的运行环境,如果有大量的插入,修改,删除语句要执行,或者有相互依存的SQL语句必须保证全部成功,或者全部失败,就需要。

顺便说一句,如果 增 删 改语句太多,而没有使用事务分批提交的话,有可能会爆掉SQL的缓冲区,导致SQl崩溃,不过这个量一般是需要很大的。我碰到这种情况是一次几万条记录的插入。具体多少条才会崩溃是根据SQl所在的服务器软硬件配置决定的。
------解决方案--------------------
楼上的都对!如果有大量的插入,修改,删除语句要执行,或者有相互依存的SQL语句能保证全部成功,或者全部失败。

------解决方案--------------------
数据库的事务处理。

begintrans 开始事务
committrans 提交事务
------解决方案--------------------
不用的,事务提交机制不需要考虑。除非你的数据量上百万级。