DA应用图解

DA应用图解


在Delphi中创建DA项目后,根据向导将需要操作的数据库和其中的表导入到项目中。向导将会自动生成客户端。
在服务器端自动产生如下文件:
一个DataModule
一个DA服务(TDataAbstractService)
一个登陆服务(TSimpleLoginService)//根据向导选择不同而不同

按条件查询

如果想按照条件查询表,可以在服务端的Schema中的表添加查询参数
修改SQL查询添加了查询条件后,关闭SQL Editor。在Parameters页面中刷新自动生成参数列表。
客户端,在DataModule中找到对应的数据集(向导自动生成),点击Params属性,
添加属性。
需要书写的代码如下:

执行Shema中的命令

需要添加的引用单元:
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,
uRORemoteService, uROClient, uROBinMessage,
uROWinInetHttpChannel, uDAScriptingProvider, uDADataTable,
uDACDSDataTable, uDADataStreamer, uDABinAdapter, uDARemoteDataAdapter,
ComCtrls, uDAClasses, uDAInterfaces,
uROClientIntf,
DataAbstract4_Intf, NewLibrary_Intf, Grids, DBGrids;
注意 这里自己对照你的单元引用,发现没有的补上,要不会报错吆。
在Delphi中要想在客户端执行命令不需要设置TDataAbstractService的AllowExecuteCommandes属性。而在.net下不设置这个属性为True的话,调用命令时则会抛出异常。

procedure TClientForm.btn2Click(Sender: TObject);
var
FService: INewService; //服务接口 在DataModule中已经自动生成了
Schema: TDASchema; //Schema对象 其中有所有服务端定义的对象
aRowsAffacted : integer;
fcommand: TDASQLCommand;//命令对象
begin
FService:= ClientDataModule.RemoteService as INewService;
//获取Schema
Schema := TDASchema.Create(nil);
Schema.LoadFromXml(FService.GetSchema(''));
try
fcommand := Schema.Commands.SQLCommandByName('Update_Customers');
if fcommand = nil then Exit;
with dataparam.Add do
begin
Name:='CustomerID';
Value:='ALFKI';
end;
with dataparam.Add do
begin
Name:='Fax';
Value:='00112233';
end;
aRowsAffacted := FService.ExecuteCommand('Update_Customers', dataparam);
Application.MessageBox(PChar('影响行数:'+IntToStr(aRowsAffacted)), '警告',MB_OK + MB_ICONWARNING);
except
end;
end;

在客户端执行SQL

要在客户端向服务端发送SQL并执行,需要把服务端的TDataAbstractService的AllowExecuteSQL属性设置为True。

设置完毕后重新编译服务端,启动起来。
在客户端书写代码:

要在客户端执行Select语言,如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值