IBTable1 通过 IBTransaction1 连接 IBDatabase1,并使用dbgrid在屏幕显示
IBQuery1 通过 IBTransaction2 也连接 IBDatabase1
使用 IBQuery1 insert 一条记录,并且commit,
此时,使用sql explorer 可以看到新记录
但 IBTable1.locate 查不到新记录,而且dbgird中也没有新记录
IBQuery1 通过 IBTransaction2 也连接 IBDatabase1
使用 IBQuery1 insert 一条记录,并且commit,
此时,使用sql explorer 可以看到新记录
但 IBTable1.locate 查不到新记录,而且dbgird中也没有新记录
解决方案 »
- delphi动态调用vc dll的问题
- ACCESS 数据库的问题
- 急!!!在线等待!!!用 ADOQUERY 如何读取 EXCEL 的日期型字段?
- XP 或者 WIN2000中怎样打印自定义的报表 DELPHI5
- 怎样传送信息?
- 老板买了正版的oracle9i For Linux 但不知如何在RedHat7.2上安装。建议有分。
- 如何 组合快捷键 如ALT+X Ctrl+1,2,3...?在线,既答既送!!!
- 什么问题?
- 异地通讯
- 如何在菜单控件中取出每一个菜单的id?(eg. N1,N111,N112)...
- 为何多了上下一截到屏幕外了
- 问个简单问题,Delphi中竟然没有OnMouseOver、OnMouseOut事件吗?
为什么要用两个IBTransaction呢?
如何解决?
interbase HLP中建议每一个sql单独使用一个IBTransaction?
能否将原话show出来?
一、IBTable1.locate 方法并不造成与服务器连接重新获取数据,它只是在客户端已有的结果集中查找记录。
二、默认情况下 IBTransaction 采用“快照”事务隔离级别。这种级别对于多版本方式的数据库很具有优势。但,它只能对“快照”出在它之前的事务情况,不能反应在它之后开始的事务情况。所以,你有两种解决办法:1、让你的查询事务始终出于你程序中的最后一个开始的事务;2、改变查询事务事务隔离级别,如我上面说的那样。