书上好像说:'客户端更新数据的时候要调用方法applyUpdate才能真正更新数据库的数据".我在测试程序的时候,在ClientDataset的CommandText写入:“insert into table1 values('dkdk','kdkd')",然后执行ClientDataset.execute。并没有调用applyUpdate,但却查到数据库的数据已经更新了呢?这又是什么缘故?为什么不用调用applyUpdate更新数据呢?请指点,谢谢!

解决方案 »

  1.   

    你用sql语句来更新数据库是不需要写applyUpdate的,因为sql语句会直接对数据库的数据进行操作。而你说的applyUpdate,是ClientDataset已经查询了数据库产生了一个结果(数据集,保存在本机的内存中),这个结果可以显示在dbgrid上,然后你在dbgrid上对这个数据集(保存在本机的内存中)进行修改时,要写applyUpdate,才会把你修改后的数据集提交到服务器,更新数据库上的数据。两种方法是有区别。
      

  2.   

    楼主执行的是SQL语句插入数据,只要执行数据库当然有了