三层结构
客户端:
SocketConnection + ClientDataset 
服务器:
BDE(用Delphi自带的连接)+Oracle9i
在客户端直接写SQL插入数据的时候发现数据没有直接写入数据库!而是要在添加很多数据以后批量加入数据库的。如果停止服务则数据直接写入!!不知道你们遇到过这个问题吗??
我用的Socket服务是用的Borland Socket Server Fix 没有用Delphi自己带的Scoket(原因是读入数据的时候客户端经常死机)。
程序是在Delphi6下进行编译!!。

解决方案 »

  1.   

    用BDE 你最好直接写的时候,加上事务提交 Commit
      

  2.   

    怎么写呢!!????难道要写
    ClientDataSet1.CommandText:='Commit';
    ClientDataSet1.Execute;
      

  3.   

    修改完数据以后并不是直接写入到数据库中的。ClientDataSet缓存机制,将修改过的数据保存到本地缓存中,需要写入到数据库时在调用一个ClientDataSet.ApplyUpData方法将缓存中的数据提交到数据库中
    不知对你是否有帮助。。嘿嘿
      

  4.   

    呵呵。。还想告诉以下,不要使用CilentDataSet的CommandText,这要会影响性能
    一般,数据操作,最好放到服务器上