tclientdataset相关内容
有没有办法只刷新详细数据集而不重新加载所有主数据集? 这是我迄今为止尝试过的: DM.ClientDataSet2.Refresh;DM.ClientDataSet2.RefreshRecord; 我也试过了: DM.ClientDataSet1.Refresh; 但是上面的方法刷新的是整个Master数据集,而不仅仅是当前记录. 现在,下面的代码似乎可以做任何事情: DM.
..
我有一个 TClientDataSet,它由 TTable 的数据集提供.数据集有两个字段:postalcode(string, 5) 和 street(string, 20) 在运行时我想显示第三个字段(字符串,20).该字段的例程是获取邮政编码作为参数,并返回属于该邮政编码的城市. 问题只是将计算字段添加到已经存在的字段.填充数据本身不是问题. 我试过了: cds.Set
..
我知道您无法完全描述带有 XSD 架构的 TClientDataSet 的 XML,因为 ROW 元素的属性名称随内容而异. 但是,这种 XML 的 METADATA 部分应该是. 那么:有没有人有一个(部分)XSD,它描述了可以用 Delphi TClientDataSets 保存的 XML 的元数据部分? 问候. PS: 感谢指向 XML->XSD 转换工具/站点
..
我声明 MidasLib 是为了避免在某些客户端中由 Midas.dll 引起的 dll 地狱. 下面的代码运行时间约为 2350 毫秒.如果我删除使用中的 MidaLib 声明,它将在 45 毫秒内开始运行!! data.xml 文件是用 TClientDataSet.SaveToFile 方法保存的,有 5000 条记录,大小约为 600Kb. 有人知道如何解释这种奇怪的行为
..
从DelphiXE2更新到Delphi Seattle 10 Update 1后,当使用搜索错误消息我偶然发现了这篇文章 Delphi XE3在DOA上> SProviderSQLNotSupported ,其中用户在使用Oracle Direct Access时也遇到类似的问题. 建议: 1)以性能为代价设置 TDataSetProvider.ResolveToDataSet = tru
..
使用ClientDataSet在最后一条记录之后插入的代码应该是什么? 我尝试了以下操作: cdsSomething.Last;cdsSomething.Insert: 但是看起来它代替了最后一条记录.我确信必须有一个快速的代码. 解决方案 将记录追加到数据集末尾的方法(更不用说任何索引了)是 Append .您甚至无需先致电 Last . cdsSomething.Ap
..
通过动态创建的 TFDQuery , TClientDataSet 和 TDataSetProvider ,我碰到了“缺少数据提供者或数据包";使用以下代码: 过程ResetSavedPasswords(ADataModuleDataBaseAdmin:TDataModuleDataBaseAdmin);变种lQuery:TFDQuery;lCDS:TClientDataSet;lProvide
..
我正在用Delphi中的代码创建一个TClientDataSet和TDataSetProvider,并从TUniQuery(Devart UniDAC)加载数据.设置数据集提供程序和clientdataset的属性后,我尝试打开clientdataset并获取运行时异常:“缺少数据提供程序或数据包". 我不确定为什么会这样,如果有人能指出到底是什么错误,我会很高兴. 这是我的代码:
..
我正在使用Delphi7 TClientDataSet 读取和写入某些数据的XML文件. 但是,当我想在程序外部浏览此文件时(在Windows资源管理器中双击XML),我得到了“在文本内容中发现一个无效字符.错误处理资源"-即使数据可以在Delphi中正常读取和写入. 是否有一种方法可以强制 TClientDataSet 以缩进方式而不是一行写入内容? 这样,我可以轻松地将其打开
..
我上周观察到了一些我没想到的事情,下面将对此进行描述.我很好奇为什么会这样.是TDataSet类内部的东西,TDBGrid的工件还是其他东西? 打开的ClientDataSet中的字段顺序已更改.具体来说,我在使用FieldDefs定义了ClientDataSet的结构后,通过调用CreateDatatSet在代码中创建了ClientDataSet.此ClientDataSet结构的第一个字
..
我有一个多层应用程序,这些应用程序使用OleVariant变量通过自定义通信框架跨线发送和接收数据。通常,此OleVariant变量的内容来自TClientDataSet.Data(当然,它是OleVariant类型的)。我怀疑通信框架会更改此OleVariant变量的内容,因此我想在发送和接收数据之前转储该变量的内容。我使用代码: TmpOrder:OleVariant; Tmp:T
..
我在我的Delphi应用程序中使用分配了本地数据的TClientDataSet来比较位于2个不同数据库中的2个表之间的数据.我正在使用的东西: SpPlansQuery: TADOQuery –原始数据查询 PPUQuery: TADOQuery –更改了数据查询(使用与SpPlansQuery不同的ADO连接) ComparisonDataSet: TClientDataSet –仅显
..
使用Delphi XE,我正在尝试对TClientDataSet进行一些过滤,但无法使不区分大小写的过滤与LIKE运算符一起正常工作 考虑以下代码进行过滤 cdsDocs.DisableControls; try cdsDocs.Filtered := False; cdsDocs.FilterOptions := [foCaseInsensitive]; cdsDocs.
..
我有一个旧的Delphi 7应用程序,该应用程序从一个数据库表中加载数据,进行许多操作和计算,最后将记录写到目标表中. 出于性能原因,此旧应用程序调用 ApplyUpdate每500条记录. 问题在于,有时候,在这堆记录中将存在一个会触发数据库约束的记录; Delphi在ApplyUpdates上触发例外. 我的问题是我不知道是哪个记录负责.有500名候选人! 是否可以询问
..
说我在TClientDataSet上的耗时操作期间暂时想禁用OnCalcFields事件(例如,通过设置cdsCalcFields := nil).重新附加OnCalcFields方法时,如何告诉TClientDataSet重新计算所计算的字段? 可能需要手动重新计算的另一种情况是某些计算字段依赖于其他数据集的情况(例如,使用计算字段临时保存来自其他数据集的某些聚合值).在大多数情况下,这会
..
有什么方法可以手动跟踪对clientdataset增量所做的更改,然后手动将更改更新到db.我已经动态创建了一个clientdataset,并且没有提供程序,我可以通过tquery加载它,现在用户将对cd中可用的数据进行一些插入更新和删除操作,最后这些数据(已修改)应为通过使用tquery张贴到数据库(不应用更新). 解决方案 从TQuery调用MergeChangeLog填充数据集之后,
..
我有一个带有n个字段的TClientDataset,我必须遍历它们以计算有多少已更改但正在执行: if (Cds.fields1.Value Cds.fields1.OldValue) and (Cds.fields2.Value Cds.fields2.OldValue) etc.... 或通过Cds.fields [I]循环不是很“干净" 有Cds.RowChang
..
我有一个自定义的TDatasetProvider,它允许为它提供的任何数据创建新字段. 因此,假设您在原始数据集中找到了以下字段: CustomerId 名称 年龄 您需要使用显示位图在DBGrid上选择它.好吧,因为我的DSP可以添加 数据集数据的名为Selected的布尔字段. 我现在的操作方式: 创建2个TClientDataset对象(来源和目标) 在O
..
我正在尝试对计算出的布尔值字段上的ClientDataSet进行排序,但是由于某种原因,数据未排序.我有一个名为Highlight且将FieldKind设置为fkInternalCalc的布尔字段,以及一个定义如下的索引: IndexDefs[0].DescFields = 'Highlight'; IndexDefs[0].Fields = 'Highlight;PatNo'; Index
..
我有一个正在处理的小应用程序,几乎要完成了,这要归功于 那些在这里帮助过我的人.但是,我还有最后一项任务. 我需要能够在NestedDataSet字段上过滤TClientDataSet. ClientDataset1 Field0: Name (Lake Name) ClientDataset2 Field0: Species (Fish Species) type TDataModu
..