三层中,本地插入记录。然后调用clientdataset1.applyupdates(0)。为什么服务器不会更新。 (20分)

  • 主题发起人 主题发起人 talent002
  • 开始时间 开始时间
T

talent002

Unregistered / Unconfirmed
GUEST, unregistred user!
在客户端怎么样才能插入记录啊?
 
1、
本地插入记录,clientdataset1.applyupdates(0)不更新:
看你的clientdataset是不是查询有多表的数据,如果有是不能直接更新的,服务端写更新的程序了吗?
2、
直接用SQL语句:insert into 表 (字段) values (值)
 
是不是你的数据库结构有问题。
 
我刚学。只是在客户端加入了dbgrid然后插入记录。所以不行。
to hongxing_dl,
能具体点说说怎么在插入和更新记录吗?必须要在服务器端写代码的吗?如果写了代码客户端怎么调用?能不能讲得具体点?
 
如果是单表操作:
客户端添加/删除/修改记录后,clientdataset1.applyupdates(-1)是可以提交的。
而且不需要服务端写代码的,写了后,调用“appserver.方法名”就可以了
你的clientdataset里面书写sql 时不能有类似sum/count/avg/group by/union/join/……等等等操作。
如果可以的话,把你的程序发给我看看——hongxing_dl724@163.com
 
to hongxing_dl,
其实也不算什么程序,我刚学多层。很多地方不会。哈哈,我提的两个问题你都有回答,真是谢谢你。
我想问一下applyupdate(-1)里面这个参数到底有什么用,0和-1有什么区别?书上没有说。
 
就是允许的最大错误数,如果超过这个错误数,则更新操作终止
如果为-1则当遇到错误时,继续尝试更新下一条。
 
to hongxing_dl,
刚才试过了,我在客户端用datasource 和dbgrid、dbnavigator与clientdataset相连。然后用dbnavigator增加了一条记录,然后在dbgrid里修改。然后就是applyupdate(-1)。不过服务器没有收到这条记录。
 
那将你的服务器端的datasetprovider连接的query的requestlive设置为true就可以了
 
建议你使用
COMMANDTEXT=SQL 操作。这里的SQL就是你输入的SQL语句
 
re 那将你的服务器端的datasetprovider连接的query的requestlive设置为true就可以了
我怎么找不到这个requestlive属性?
 
我知道为什么我更新不了了,因为我的表里有一个自增的标识字段。该字段不能为空。但是我又不能给它附值。请问这样该怎么处理啊?
 
后退
顶部