利用query如何在dbgrid中(运行期)更新数据?(所见即所得)(50分)

  • 主题发起人 主题发起人 XingQuguang
  • 开始时间 开始时间
X

XingQuguang

Unregistered / Unconfirmed
GUEST, unregistred user!
用的是远程sybase数据库,query的requestlive已设成true,却无法更新数据?why? 我乃新手,请前辈们多指教!!!
 
do you use applyupdate(0)?
 
to rixin : no ,我现在试一下。
 
不要把query的requestlive设成true,但要把Cachedupdate=true,用
tquery+tupdatesql来处理数据,tquery的Updateobject连接updatesql1。例如:
在query1的AfterPost写成:
with Query1 do
begin
Database1.StartTransaction;
try
ApplyUpdates;
Database1.Commit;
except
Database1.Rollback;
raise;
end;
CommitUpdates;
end;

在updatesql1的modifysql:
update table1
set
field0=:field0
...
where
id=:id

InsertSQL:
insert into table1(id,field0,...) values(:id,:field0,...)


deleteSQL:
delete from table1 where id=:id

 

我对sqlupdate 有些不清楚,给个详细的例子。
 
想所见既所的,我过去是写一个局域网协作办公时遇见,我是另开一个监视线程
,一旦数据库有更新就立即刷新客户端,监视线程利用的是WINDOWS的时钟事件,
效果能达到要求。
 
如果Sql语句中只从一个表提数据,RequestLive=True就行
如果不是,只好用SQLUpdate;用法;
Query1.SQLUpdate:=SQLUpdate1;
SQLUpdate中写SQL语句

如果想数据一改变,客户端就响应,可通过中间层,将数据主动送到每个客户端
 

使用sqlupdate 对数据库是否有要求,
pardox 可以吗?
 
对不起,想问一下
update table1
set
field0=:field0
...
where
id=:id

: field0 , :id 是在哪定义的?in Tupdatesql or Tquery?
谢谢
 
接受答案了.
 
后退
顶部