Z
zjjxxw
Unregistered / Unconfirmed
GUEST, unregistred user!
我试用D2006学习三层开发,采用InterBase数据库,中间层用了IBDataBase-->IBQuery-->DataSetProvider,同时IBQuery指定了IBTransaction,各控件基本上采用默认设置,IBQuery的SQL为"select * from 表名"。我在客户端通过SocketConnection-->ClientDataSet-->DataSoure-->DBGrid,打开ClientDataSet后可进行更改数据,然后用ApplyUpdates(-1)提交更新,然后关闭ClientDataSet再打开它,发现更新已保存,但此时如用数据库工具打开数据库查看该表时,数据却未得到更新,同样如果在客户端通过另外的DataSetProvider代理打开同样的表,也会发现数据库确实未更新到,但当我退出客户端的程序后,再检查数据库发现此时数据却更新了,请教各位高手,这是怎么回事?是不是要提交事务,哪么又该在中间层还是在客户层提交事务呢?又该怎样提交?