- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含以下控件的表单:TDBEdit
,TDBMemo
,TDataSource
,TClientDataSet
如果用户编辑字段,然后单击表单上仅调用MyCDS.Cancel
方法的按钮(以取消编辑),则TDBEdit
字段将还原为其原始值,但TDBMemo
字段不会还原(它们设置为空白值)。TClientDataSet
是从MSSQLServer 2008数据库填充的。 TDBEdit
字段是数据库中的nvarchar(255)
,而TDBMemo
是nvarchar(max)
或xml
字段。
查看调试检查器中的值(ctrl + F7,MyCDS.FieldByName('afield'),Inspect)对于nvarchar(max)
字段之一显示以下内容:
数据大小= 0
数据类型= ftWideMemo
大小= 1
对于所有nvarchar(max)
和xml
字段,这都是相同的,无论基础字段是否具有数据。
看来在nvarchar(max)
(被视为ftWideMemo
)和TDBMemo
控件之间存在不兼容。
有人以前见过这样的问题吗?您对如何解决有什么建议?
最佳答案
如果有兴趣的人,问题是TClientDataSet
组件中的错误。仅当您克隆数据集,没有Provider
并关闭LogChanges
时,才会出现此问题。如果在克隆的数据集中编辑记录,然后取消编辑,则所有备注字段都会丢失其值。
由于不必在基于文件的应用程序中使用Provider
,因此启用LogChanges
并非总是有意义。但是,要解决备忘录字段的限制,可以保留LogChanges
的状态,然后在更改克隆数据集的操作之后调用MergeChangeLog
。
我创建了一个演示该问题的程序。请参阅Embarcadero事件QC#110511。
关于delphi - TClientDataSet.Cancel丢失TDBMemo值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13388662/
如何从 TClientDataset 获取更改? 我有一个名为 GetDataset 的 TClientDataset 并且有一个网格。我希望在名为 ChangeDataset 的新 TClientD
我有一个包含以下控件的表单:TDBEdit,TDBMemo,TDataSource,TClientDataSet 如果用户编辑字段,然后单击表单上仅调用MyCDS.Cancel方法的按钮(以取消编辑)
我有一个简单的 Delphi (2007) 过程,它给定一个 TDataSet 和一个(子)字段列表返回一个新的 TClientDataSet 和 不同的值 从给定的 TDataSet。 这工作得很好
我们有一个系统可以根据我们的数据创建报告。我们可以处理大量数据。超过 150,000 行的想法并非不可能。 不幸的是,我们对 TClientDataSet 的体验是它的局限性,因为当数据变得太大时,它
我有一个数据库表,我需要在其中插入记录。我正在使用可更新的 TClientDataset,一切正常。 现在,我需要添加一个虚拟字段;不是计算出来的。我可以在其中写入行状态的一个字段(只是我将在 App
我需要过滤TClientDataset,实际上我正在使用这段代码。 if Value<>'' then begin ClientDataSet1.DisableControls;
一些背景:我想开发一个桌面应用程序,使用 SQL 数据库作为存储。一次只有一个用户连接到数据库。 为了使维护更容易,我想将 GUI 与 Busniss Logic 分开。因此,我想到为每个对话框使用一
当我试图支持 this question 时,我被触发问这个问题。具有 MCVE。 我最近开始注意到 TClientDataSet 很快就会耗尽内存。我在生产中遇到了一个问题,它无法加载大约 60.0
我有一个在线程 1 中管理的 TClientDataset。 在另一个线程中,我有一个 TClientDataset 的克隆图像。 我会遇到线程问题吗? 编辑 克隆的图像以只读模式使用。 最佳答案 简
我有一个 DataSnap 服务器,它创建对给定用户 session 唯一的 TSQLQuery、TDataSetProvider 和 TClientDataSet,它们用于和重用从数据库检索数据并将
是否可以将对多个表的多个查询的结果放入 TClientDataset 中? 有点像 SELECT * from t1; SELECT * from t2; SELECT * from t3; 我似乎无
这是我想要完成的: 通过 TSQLDataset 的 CommandText 从数据库中检索 1 条记录:SELECT * FROM myTable WHERE ID = 1 使用TClientDat
我有一个简单的 TClientDataSet 组件,用于填充一些数据感知组件。但是,如果我使用此数据集将数据插入我的数据库,我似乎无法找到将其同步回我的 TClientDataSet 组件的正确方法。
在 TClientDataSet 组件中调用 CreateDataSet 方法时出现“无效参数错误”的原因是什么?导致此错误的原因。 最佳答案 当您有一个 ftString 数据类型字段并且其大小为零
你好代码爱好者! 我有一个问题,这无疑是由于我对 Delphi XE2 知识缺乏经验。我会在这里尝试解释一下。 简介: 我有一个包含数据的 Interbase 数据库。该数据库位于远程机器上。我正在开
我需要在 TClientDataSet 中创建一个聚合字段,但如文档中所述: Choose OK. The newly defined aggregate field is automatically
我使用一个提供程序在主详细信息中有 2 个 ClientDatasets。 2 个基础查询作为主详细信息与数据源连接,并且主查询将详细信息作为字段 (TDatasetField) 我的问题是关闭主(甚
在我的应用程序中,我将 TADOQuery 与 select (MSSQL) 一起使用,并与其 TClientDataSet 链接。我必须插入大约一百万条记录并应用更新。 那么我在 SQL Serve
我想知道是否可以将一个数据集嵌套在一个数据集中,然后将该数据集嵌套在另一个数据集中。因此有 3 层嵌套。目前,我只能将一个数据集嵌套在另一个数据集中。当尝试嵌套第三层时,数据库在我第一次编译程序并且能
我正在使用 TClientDataset 创建一个内存数据集作为接收缓冲区。添加数据很棒,但是一旦我开始处理它,我希望能够从数据集中删除该行。调用删除有效 - 某种程度上 - 行/索引仍然可以访问,但
我是一名优秀的程序员,十分优秀!