Delphi XE7 基于FirDAC三层架构下的数据提交保存-单表或者多表保存

使用云露客户端的架构,通过TApplyUpdateFDdata可以通过数据流的方式向后台提交数据集。 不管是单表保存还是多表保存,都可以调用该类,现在本篇将简单介绍单表保存。在介绍该类之前,先介绍  TApplyUpdataList 这个结构体

type

  TApplyUpdataList = record

    sDBname, sParam, ProviderFlags: string;  //sDBName 数据库名  sParam  参数入参 可以为空    ProviderFlags 字段是否保存     可以为空
    ApplyType: string; //'0':正常保存  '1':ExecSql '2':OpenSQL
    FDData: OleVariant; //当 ApplyType不为0时,FDData是一个SQL语句,为0时,则AppType是FDQUERY的Data
  end;

通过本结构体,可以将多个数据集一起提交给TApplyUpdateFDdata方法,自动实现保存。


var
  Data1: OleVariant;  
  rt: Integer;
  aArrList :array [0..0] of TApplyUpdataList;
  FSaveList :TApplyUpdateFDdata;
begin
  inherited;
  if not FDQuery2.Active then
  begin
     ErrorBox('请先查询!') ;
     exit;
  end;
  FSaveList:=TApplyUpdateFDdata.Create;
  try
   Data1 := FSaveList.Data(FDQuery2);
   aArrList[0].sDBname:= 'HY_DT';      //数据库名
   aArrList[0].ApplyType:='0';        //更新方式
   aArrList[0].sParam:='';             //如果是SQL 语句,那么可以提供入参,参考查询界面的入参。
   aArrList[0].ProviderFlags:='';      //不保存的字段。
   aArrList[0].FDData:= Data1;         //数据流

   FSaveList.Url := FSYSINFO.sURL;
   rt := FSaveList.SaveData(aArrList);
    if rt<>0 then
    begin
      ErrorBox(FSaveList.GetErrorInfo);
      exit;
    end
    else
    begin
      FDQuery2.CommitUpdates;
      MsBox('保存成功!');
    end;
  finally
     FSaveList.Free;
  end;
多表以此类推,将数组的长度更改成你需要的长度,就能实现多表保存。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值