ClientDataSet应用】的更多相关文章

ClientDataSet组件本来是给midas用的,也是所谓的borland的三层数据技术,使用这个控件必须发行midas.dll挺麻烦的 open是通过应用的SQL语句为SELECTexecute通过对应的SQL语句为INSERT.UPDATE.DELETE等语句…
核心提示:如何捕获ClientDataSet.ApplyUpdates的错误,不用ReconcileError... var cdsEmp:TClientDataSet; //保存 procedure TfrmEmp.btnSave(Sender: TObject); begin cdsEmp.RemoteServer.AppServer.BegTrans; try cdsEmp.ApplyUpdates(0); //更新错误在这一句发生,但是我却永远也捕获不到, //我想自已在异常处理里显示这…
现在,DATASNAP倾向于使用JSON作为统一的数据序列格式,以期达到跨平台的效果.于是使用JSON便成为热点. unit uJSONDB;   interface uses SysUtils, Classes, Variants, DB, DBClient, SuperObject, Dialogs; type TJSONDB = class   private class function getJsonFieldNames(res: ISuperObject):TStringList ;…
最近维护一个项目,里面用到ClientDataSet,由于之前接触ClientDataSet比较少,所以这个星期补了一下关于ClientDataSet的知识,并在此记录下我所了解到的并应用到实际项目中的ClientDataSet的知识. 项目新需求:1.从别的数据库导入物料资料,并允许操作员做修改后保存提交:2.从别的数据库导入价格资料,并允许操作员做出修改并保存:3.记录相应的日志.4.允许操作员过滤关键字查找. (PS:项目的数据连接模式为:ADOConnection→ADOQuery→Da…
场景,程序想检查是否存在某个字段的值是空的,如果存在,则不允许增加记录,否则允许增加记录. 解决这个问题,我一开始用了两种错误的方法 if not clientdataset.locate('AFieldName','',[]) then //如果存在字段AFieldName的值为空的记录,则不允许增加一行记录append clientdataset.append else exit; 第二种错误方法 ClientDataset.Filtered := false; ClientDataset.…
使用ADO控件 .ClientDataSet .增加了从表与主表的关连字段 SheetID,别的设置全为默认.如图1所示 图1 ======= 问题 BUG: 打开主表与从表,先不对主表进行任何操作.图2所示. 图2 在从表编辑中,使用 ClientDataSet2.Delete; 进行对从表进行删除行,将该SheetID(B41170600011)的从表的所有行删除.如图3所示. 图3 在进行图3操作时,鼠标焦点不要点击主表结构,在删除完从表的数据后直接点击主表的所对应的字段,不要点到别的字段…
TField对象的SetText和GetText事件处理函数 使用TField对象的SetText和GetText事件处理函数可方便的解决字段的代码与代码所对应值的显示问题 TSimpleDataset/TClientDataset对象的Aggregation 使用TDataset对象的Aggregate属性可以来计算客户端数据集中数据的总计数值.平均值或是计算最大值和最小值. 使用TBookMark来标记记录书签, 访问数据集中的数据 通过使用TBookMark以及TDataset对象的 Bo…
非原创  摘自:http://hi.baidu.com/yagzh2000/blog/item/fc69df2cb9845de78b139946.html三层中主从表的操作(删除.新增.修改)一定要在一个事物中完成,那在Delphi中的事物又如何控制呢?我们在开发客户端时,如果为了在一个事物中而用TSqlConnection的事物来控制是徒劳的,没有一点意义,因为真正事物控制是在服务端的TDataSetProvider中产生的,它是自动产生事物的,如果有错误产生,它会回滚事物. 当客户端的Cli…
clientdataset.open 报错  Name not unique in this context clientdataset有一些自定义字段,clientdataset绑定了adoquery,但是看字段没有重复,clientDataSet的字段和ADOQuery的字段也没有重复. adoquery.open(); cds1.open();//error 与ADOQuery无关,单独打开 ds3->Open();也报错 绕了一大圈,才是某个字段不存在引起的. 2018.10.15 是的…
1.   与TTable.TQuery一样,TClientDataSet也是从TDataSet继承下来的,它通常用于多层体系结构的客户端.很多数据库应用程序都用了BDE,BDE往往给发布带来很大的不便,因而TClientDataSet最大的特点是它不依赖于BDE(Borland Database Engine),但它需要一个动态链接库的支持,这个动态链接库叫DBCLIENT.DLL.在客户端,也不需要用TDatabase构件,因为客户端并不直接连接数据库.由于TClientDataSet是从TD…