问题标签 [tclientdataset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
7111 浏览

delphi - 跟踪修改的行并从 TClientDataSet 的 Delta 手动更新

有没有办法手动跟踪对客户端数据集的增量所做的更改并将更改手动更新到数据库。我已经动态创建了一个客户端数据集,并且没有提供者我可以使用 tquery 加载它,现在用户将对 cds 中可用的数据执行一些插入更新和删除操作,并且在最后阶段这些数据(修改)应该是使用 tquery 发布到数据库(不应用更新)..

0 投票
3 回答
401 浏览

delphi - 查询完成时显示消息

我正在使用一个相对复杂的查询来查询一个 firebird 数据库,该查询需要一段时间才能执行,并认为如果用户可以获得有关查询进度的某种形式的反馈会很有帮助。我打算在查询开始时在状态栏上显示合适的“请稍候”消息,并在查询返回其数据时清除状态栏。

我正在使用 TSQLDataSet、TDataSetProvider 和 TClientDataSet;哪个事件将在哪个组件中触发,表示查询已完成并且数据已准备好显示?

TIA,诺姆

0 投票
1 回答
1245 浏览

delphi - 如何在嵌套的 TClientDataSet 上找到“外键”字段名称?

给定一个嵌套的 TClientDataSet,我如何在详细 TClientDataSet 上找到链接字段名称?

我正在将数据从一个 TClientDataSet 复制到另一个(逐条记录),我想自动忽略链接字段。

我也可以使用 TClientDataSet.Data 属性复制数据,但我仍然需要清除链接和关键字段。

0 投票
1 回答
5735 浏览

delphi - Delphi - TClientDataSet:对applyupdates()的第二次调用不应用更新

我再次遇到了 TClientDataSet 的问题。我想这很简单,但我现在挣扎了一段时间。

这是一些代码,显示了我想要做什么:

我认为代码是自我解释的。当我按下 button1 时,会创建一条记录,并在调用 applyUpdates 后将其写入数据库。当我按下按钮 2 时,我想更改此记录并将更新应用到数据库 - 这不起作用。但是当我注释掉button1中的applyUpdates时,button2中的applyUpdates可以正常工作。

0 投票
1 回答
847 浏览

delphi - 如何“冻结” Datasnap 服务器中的数据集?

对于需要很长时间才能打开的数据集(它是一个存储过程),我想在 Datasnap 服务器上实现某种缓存。

因此,如果此数据集是第一次加载并传输到客户端(TClientDataSet),则不应为以下请求关闭并重新打开它,除非服务器重新启动或调用服务器上的“重新加载”过程。

因此,在第一次打开后,每个新客户端只会收到数据集的副本(克隆),而不会刷新/重新加载服务器端数据集。

对于此数据集“缓存”的简单实现,不得在每个会话中创建 Datasnap 服务器数据模块(因为对于每个新会话,服务器端数据集将关闭,直到客户端发送打开 DatasetProvider 的请求)。也许我可以找到一个解决方案来克隆会话数据模块的数据集,但我的基本问题是:

有没有办法覆盖 DatasetProvider 中的方法,以便客户端仍然可以打开,但不能关闭服务器端数据集?

0 投票
3 回答
2275 浏览

delphi - 对象 Pascal:TClientDataset 删除

我正在使用 TClientDataset 创建一个内存数据集以用作接收缓冲区。添加数据很棒,但是一旦我开始处理它,我希望能够从数据集中删除该行。调用删除工作 - 有点 - 行/索引仍然可以访问,但现在不包含有效信息。

这让事情变得有点困难,因为当我处理这个缓冲区时,不能保证条目实际上会被删除。我宁愿不从第一个条目开始扫描缓冲区并跳过空项目,那么有没有更好的方法从数据集中永久“删除”项目?我的想法是它应该像一个实际的 SQL 表一样工作,其中删除一行不会留下空记录。

实现这一目标的最佳方法是什么,还是我完全使用了错误的组件?

0 投票
4 回答
5606 浏览

xml - 使用 Delphi7 TClientDataSet:是否可以让它以缩进格式保存其 XML 内容?

我正在使用 Delphi7TClientDataSet为我的一些数据读取和写入 XML 文件。

但是,当我想在程序外部浏览它时(在 Windows 资源管理器中双击 XML),我得到“在文本内容中发现了一个无效字符。错误处理资源' - 即使数据在 Delphi 中可以正常读写。

有没有办法强制TClientDataSet以缩进的方式而不是一行来写它的内容?

这样我就可以轻松地将它打开到文本编辑器中,然后找到会触发上述错误的字符。

不管怎样:我发现用 CR/LF 和缩进编写 XML 文件要清楚得多。

0 投票
1 回答
4963 浏览

xml - 读取和写入 XML 文件

我需要使用 Delphi 处理 XML 文件。

我想将 DBGrid 中的 xml 数据呈现给用户,并将用户所做的更改保存在 XML 文件中。

例如,在下面的 xml(呈现给用户)中,如果用户changed City of ABC under clientadded a new customer with NickName as "AAA"这些更改应该反映在 XML 文件中。

我正在使用 XMLDocument 和 ClientDataSet 来实现这一点,但没有成功。

谁能帮助我实现这一目标?

0 投票
1 回答
22360 浏览

delphi - 如何一次删除 TClientDataset 中的所有记录?

是否可以一次删除所有记录TClientDataset

0 投票
3 回答
597 浏览

database - MyBase 上的文档?

谁能给我提供一个文档链接或与 Delphi(较新版本)一起使用的 MyBase 的一些示例,尤其是基本操作(添加、修改、删除、搜索......)

谢谢你。