服务端用一个TQuery访问很多Table,客户端如何设定?(0分)

  • 主题发起人 主题发起人 icoy
  • 开始时间 开始时间
I

icoy

Unregistered / Unconfirmed
GUEST, unregistred user!
客户端向服务端提交请求,通过一个TQuery访问很多个表,此时
TQuery的SQL属性怎么填?(没办法填)
客户端的DBEdit等DataControls怎么设定?在Objet Inspector的
Datafield怎么设?如果在TQuery不填SQL,这里根本没有选择。
如果随便填了一个,我换一个Table以后又怎么办?
 
如果你想在客户端更换表的话这是可以办到的。
在app上定义一个方法:
ct(const alias,table:widestring);
begin
tquery.close;
tquery.databasename:=alias;
tquery.sql.text:='select * from '+ table;
tquery.open;
end;

在客户端调用这个ct方法:
dcom.appsevr(appsevr可能没写对).ct(你要的数据库,表名);这样就换了。
 
可以在客户端调用datarequest将sqltext传给app.
客户端
var slqtext :string;
sqltext :='select * from tablename';
clientdataset1.data :=clientdataset1.datarequest(sqltext);
服务器端在dataprovider 的 ondatarequest事件中写
function TForm1.DataSetProvider1DataRequest(Sender: TObject;
Input: OleVariant): OleVariant;
begin
query1.close;
query1.sql.clear;
query1.text :=input;
query1.open;
end;
 
哎呀呀,不光可以更改表,还可以更改数据库呢,DELPHI中本身就已经带有这个例子,拜托你看看DELPHI的例子,好像是在DEMOS/MIDAS/ADHOC中,另外有《DELPHI核心编程技术》中对此例有详细的解说。如何没有下载地址是:
HTTP://centurysoft.126.com
读书软件嘛,你可以到湖南信息港下载。
XIXI,解决后别忘记给我加分。
 
好象是没有分的啊!
 
接受答案了.
 
后退
顶部