使用 TClientDataSet(1)】的更多相关文章

第十一章 TClientDataSet 与TTable.TQuery一样,TClientDataSet也是从TDataSet继承下来的,它通常用于多层体系结构的客户端.TClientDataSet最大的特点是它不依赖于BDE(Borland Database Engine),但它需要一个动态链接库的支持,这个动态链接库叫DBCLIENT.DLL.在客户端,也不需要用TDatabase构件,因为客户端并不直接连接数据库. 由于TClientDataSet是从TDataSet继承下来的,所以,它支持…
procedure ExPortNodeQuantifyComponent1(aCDS: TClientDataSet; aCurrNode: TXMLNode); var mStream: TMemoryStream; I: Integer; vNode: TcxTreeListNode; NativeXml: TNativeXml; vXMLNode, rootNode: TXmlNode; begin mStream:=TMemoryStream.Create; NativeXml :=…
function TfrmMain.createIIReport(cdsBody: TClientDataSet;  silent: Boolean): String;var    s,sText: String;    i: Integer;    sTail: String;    sSpace: String;begin  try    try      sTail := #13#10;      sSpace := ' ';      sText := '<?xml version=&quo…
Delphi 为TClientdataset定义结果集,并增加记录 procedure addDefsFieldsForCDS(aDataSet: TClientDataSet);begin  aDataSet.Data := null;  aDataSet.FieldDefs.Clear;  aDataSet.FieldDefs.Add('ID', ftString, 100);  aDataSet.FieldDefs.Add('CODE', ftString, 100);  aDataSet…
https://www.cnblogs.com/false/archive/2013/02/24/2924240.html procedure TReport10Form.cxGridViewDataControllerFilterChanged(Sender: TObject);var  cds: TClientDataSet;begin  cds := cxGridView.DataController.DataSource.DataSet as TClientDataSet;  try  …
TClientDataSet 提交时提示 Field value Required 但是未提示具体哪个字段. 这个错误特别麻烦,要使用 midas 控件时,虽然很方便.但是出错了根本找不到原因,特别是这个异常.下面的补丁,可以帮助找到错误原因. 注:我们自己在使用的时候,采用了控件继承,因此可以把这个功能变成控件基本功能,但是继承相关代码特别多,就不在这里贴了. procedure postAndCheckValue(ds: TDataSet); var I: Integer; curField…
TClientDataSet 中计算字段有两种: Calculated(计算字段).InternalCalc(内部计算字段). 两者区别是: Calculated 在每次需要时都要重新计算; InternalCalc 只需要计算一次.Calculated 需要计算的时间, InternalCalc 需要存取的时间; 当然后者快. 计算字段不会被保存到文件. 下面的例子先定义了两个整数字段: sum1.sum2;又定义了两个计算字段: SUM(求和).MUL(求积), 分别指定了 Calculat…
unit Unit2; interface uses SysUtils, Classes, DB, DBClient; type TDataModule2 = class(TDataModule) ClientDataSet1: TClientDataSet; DataSource1: TDataSource; procedure DataModuleCreate(Sender: TObject); private { Private declarations } public { Public…
1.TClientDataSet控件 通过TClientDataSet控件可以建立瘦客户端的应用程序,且数据执行效率较高,但它不能和数据库自动连接,程序中必须制定它如何获取数据.一般情况下,TClientDataSet 控件获取数据的方式主要有 3 种:从本地文件中获取.从本地的另外一个数据集对象中获取以及通过 IAppServer 接口来获取. 2.TDataSetProvider 控件TDataSetProvider 控件基于数据集为应用程序中的其他控件提供数据, 并将对数据的更新传回数据集…
本例效果图: 代码文件: unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, Grids, DBGrids, DB, DBClient, StdCtrls, ExtCtrls; type   TForm1 = class(TForm)     Panel1: TPanel;     Button1: TButton;  …
1.TClientDataSet的基本属性和方法介绍 1).FieldDefs: 字段定义列表属性 开发者可通过单击属性编辑器中该属性编辑按钮,或在该控件上单击右键选择弹出菜单中的"Fields Editor"菜单进行字段编辑.设置完此属性后,实际上就相当于定义了表的结构:如果想装入已有的数据表的结构和数据,可通过单击右键选择弹出菜单中的"Assign Local Data"菜单,从弹出对话框中选取当前窗体中已与数据库连接好的数据集控件名称即可(当前窗体中必须已放置…
本例用到: TClientDataSet.Fields[];          { 字段集合; 它比 FieldList 有更多功能, 如可获取嵌套字段 } TClientDataSet.FieldList[];        { 字段列表; 它比 Fields 轻便, 如果只是取值用它快一些 } TClientDataSet.FieldByName();      { 根据字段名称获取字段对象; 获取一个字段对象时它比上两个快 } TClientDataSet.FindField();   …
TClientDataSet数据源设置   TClientDataSet数据源设置…
Delphi三层开发小技巧:TClientDataSet的Delta妙用 转载 2014年10月13日 09:41:14 标签: 三层 / ClientDataSet 318 from :http://www.cnblogs.com/fyen/archive/2011/04/21/2023223.html Delphi做三层开发时,很多人都会在客户端放一个TClientDataSet,中间层远程数据模块就对应放一个TDataSetProvider,然后再连起来.其实这种方法很烦琐,而且程序痈肿不…
当我们在客户端用TClientDataSet的“ProviderName”属性连接服务器时,无法找到服务器端的“DatasetProvier”!! 问题原因:服务器端对提供服务的控件所属单元选择错误.所有对客户端提供服务器的方法.控件等等,必须全部放到“ServerMethodsUnit1”里面,否则无法对客户端提供服务. 解决方法:把这些提供服务的控件放到“ServerMethodsUnit1”里面,正常配置之后就可以了. 我们先看一下错误配置截图: 下面才是正确的配置: 1,数据库控件在“S…
TClientDataSet的 fastscript封装 // 陈新光 2017-2-10// TClientDataSet's fastscript unit fs_ClientDataSet; interface {$i fs.inc} uses SysUtils, Classes, fs_iinterpreter, fs_itools, fs_ievents, DB, fs_iclassesrtti, Variants, DBClient {$IFDEF Delphi16} , Syste…
TynSerial序列(还原)TClientDataSet 可以一次性序列(还原)多个TClientDataSet. 1)TClientDataSet查询数据 procedure TForm1.Qrys(accountno, sql, sql2: string; DataSet, DataSet2: TClientDataSet); // TClientDataSet主从表查询 var url: SockString; i: integer; serial: TynSerial; begin s…
http://www.myexception.cn/delphi/720245.html Tclientdataset的CloneCursor问题我的DBGRID所连接的数据源为cdsBook,然后用cdsModifyBook克隆cdsBook数据源,并进行一些处理动作,见下列代码: cdsModifyBook.CloneCursor(cdsBook,false):cdsModifyBook.edit;......cdsModifyBook.POST; 发现cdsModifyBook提交(pos…
第一次New几个字段后,右键菜单CreateDataSet 后来需要再New几个字段. 右键菜单,先 ClearData(不这样,会报 打开的数据集不能执行 这个New字段的操作),然后在 字段编辑器里,再New 几个字段(默认的字段类型变成 计算,而不是数据) 再 CreateDataSet,报 xxx: Field 'xx' not found. 到组件的字段定义属性里,把以前的字段定义全删除,再CreateDataSet. 或者 后面要再New字段时,先到 字段定义属性里,添加新的字段定义…
//使用 TFieldDef 建表: begin with ClientDataSet1.FieldDefs do begin Add('Name' , ftString, 12, True); { True 表示是必填字段 } Add('Age', ftInteger); end; ClientDataSet1.CreateDataSet; end; //使用 TField(这里是用其子类)建表: begin with TStringField.Create(Self) do begin Fi…
http://www.borland.com/namespaces/Types-IAppServerSOAP 服务器未能识别 HTTP 头 SOAPAction 的值 (2011-04-25 16:44:30)转载▼标签: soapaction it 分类: C#技术错误信息:服务器未能识别 HTTP 头 SOAPAction 的值背景:在掉webservice时,有些时候回出现这样的错误,这是由于webservice的url错误导致的解决方法:http://XXXX/SendService?w…
cdsAdd.Open 不能用open,因为这个是DataSet的通用方法,不会检测文件名的,文件名是CDS特有的…
读取cds文件数据. FileName一定要在设计时输入,否则程序运行时,不会自动读取cds文件. 因为FORM创建时,数据集组件也相应创建,如果是在运行时 设置FileName,那么是在数据集组件创建好后 才能给FileName赋值,所以不会自动读取cds文件. 这样的话,就是不灵活,因为IDE下,没法动态设置文件路径. 保存到cds文件,好像不存在这个问题.…
if CDSUserFunc.Locate('mod_id;res_id', VarArrayOf([UserFunc.MOD_ID, UserFunc.RES_ID]), [loCaseInsensitive]) then begin CDSUserFunc.Delete; end; if not CDS_UserDict.Locate('DICT_ID', strDictId, [loCaseInsensitive]) then begin…
function GetcdsAccountsData: OleVariant; var ASQLQuery: TSQLQuery; Adsp: TProvider; begin ASQLQuery:=CreateSQLQuery; Adsp:=TProvider.Create(nil); with ASQLQuery do try SQL.Add('Select AccID, pAccID, AccName, AccFullName, Explan, Grade, Property, Deta…
从Delphi 2009开始,DataSnap技术发生了很大的变化,并在Delphi 2010和Delphi XE的后续版本中得到了持续的改进.Delphi 2009之前的DataSnap,虽然也实现了对中间层的方法调用,但那是基于COM技术的,实现起来比较麻烦,而且最关键的,是不能直接返回数据集(TDataSet).如今,基于JSON的DataSnap,已经脱离了COM的束缚,可以很方便地直接返回数据集.我们在开发多层的数据库应用时,就可以采用全新的方式来进行,即客户端的所有数据查询和更新,可…
DataSnap到了Delphi2010有了很大的变化,已经可以完全抛弃DCOM之类的东西了,在以前版本中建立一个DataSnap,需要使用DCOMConnection或者SockConnection来连接到服务器,而在Delphi2010中提供了一个新的连接组件:TDSProviderConnection,可以更方便地来连接服务器. 先来学习一个简单的DataSnap: 新建一个工程,在Delphi Project中选择DataSnap Server组,然后选择其中的DataSnap Serv…
Delphi中MIDAS到底是什么呢?和他相关组件是什么呢?   MIDAS(Multitiered Distributed Application Services)多层分布式应用服务.   Delphi所提出的Multi-Tier结构是把原来的Two-Tier前台应用程序内的dbExpress,ADO,BDE,SQL Link,DataMoule,拿到另外一台NT服务器(就是所谓的应用程序服务器),而前台程序只剩下一个可执行文档及MIDAS.DLL,而移到NT服务器上的DataMoule则变…
DevExpress VCL 13.1.4支持Delphi /C++Builder XE5 重大变化 ExpressLibrary dxHalfOfPi常数声明已经从cxGeometry单元移到了cxGridLayoutViewCarouselMode单元的执行部分,这样做的目的是为了避免C++Builder中的编译警告. 存在的问题 目前,IDE存在以下几个问题,DevExpress VCL会在以后的版本中进行修复: C++Builder XE3 or XE4 (64-bit) - 在某些De…
Delphi Excel 操作大全 (一) 使用动态创建的方法首先创建 Excel 对象,使用ComObj:var ExcelApp: Variant;ExcelApp := CreateOleObject( 'Excel.Application' );1) 显示当前窗口:ExcelApp.Visible := True;2) 更改 Excel 标题栏:ExcelApp.Caption := '应用程序调用 Microsoft Excel';3) 添加新工作簿:ExcelApp.WorkBook…