服务端接受客户端TDataClientSet.CommandText后,结果是怎么返回给客户端的?(50分)

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

icoy

Unregistered / Unconfirmed
GUEST, unregistred user!
我是初学者,对这个很困惑。
 
dataset 向provider发送命令,provider 把命令传给provider对应的数据集 (一
般是tquery)。相当于向appserver的tquery 发送sql语句。
也可自己定义实现:
appserver.addsql('select * from ;;;');
procedure addsql;
begin
query1.close;
query1.sql.clear;
query1.sql.add(sql);
query1.open;
end;
 
我就是想问,这个query1.open执行以后,结果是如何返回给客户端的?
:)
 
query1.open执行后,它把query1.sql.text中的sql语句传给sql服务器,服务器
如果正确的执行了这些操作就把结果返回给query1(query1中也能执行存储过程),
之后query1通过app接口把数据传给客户端的的数据集(在app上你可以对客户提交的
内容和sql的执行结果进行编缉以实现更复杂的规则)
 
补充一点:在应用服务器上如果你用的是Iprovider接口创建三层应用是很容易的
如果你用的是自定义接口就比较麻烦了。
客户端数据控件----->数据源------>数据集---->dcom之类控件---->应用服务器接口
(Iprovider或自定义接口)----->数据集(query、table、database)----->sql数据库
 
多人接受答案了。
 
后退
顶部