关于查询记录并作修改的问题(50分)

  • 主题发起人 主题发起人 lsyhql
  • 开始时间 开始时间
L

lsyhql

Unregistered / Unconfirmed
GUEST, unregistred user!
小第有一问题,当执行以下程序后,对dbedit1和dbgrid的记录无法进行
修改(修改后要对修改的记录返回到相应的数据库中),请多指教!
procedure TForm1.Formcreate(Sender: TObject);
begin
datasource1.dataset:=query1;
dbgrid.datasource:=datasource1;
dbedit1.datasource:=datasource1;s0:=clientqu.text;s1:='"';
end;
procedure TForm1.addbuttonClick(Sender: TObject);
var s,s0,s1:string;
begin
s0:=client.text;s1:='"';
s:='select * from client.db where client= '+s1+s0+s1;
query1.Close;query1.sql.clear;query1.sql.add(s);query1.open;
end;
 
这是一个老毛病了。
你将TQUERY的RequestLive属性改为TRUE,试试就明白了。这个属性默认是FALSE,表示
TQUERY执行后,返回的数据集是只读的。同时记得将所有控件的CANMODIFY设为TRUE。
 
Set RequestLive to True to request a live result set.
RequestLive is False by default, meaning that a query always returns a
read-only result set.All multi-table queries return read-only result sets.
Other conditions may cause a query to return a read-only result set.
(From Delphi Help)
如果查詢只是從一個表中查詢可以把屬性RequestLive設為True,
如果查詢從多個表中,就要配合TUpdateSQL了。
 
我用的是ADO的,怎么才能让它也能POST呢?
 
多人接受答案了。
 
后退
顶部