问题标签 [firedac]

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 投票
0 回答
1520 浏览

delphi - 什么 FireDAC 组件可以用来代替 dbExpress DBXCommand?

我有一个 DataSnap 客户端和一个 DataSnap 服务器,用 Delphi XE4 制作。我确实使用了dbExpress,但我想将其更改为FireDAC,因为目前我正在将 XE4 迁移到 XE5,而 FireDAC 是我希望在我的项目中拥有的东西之一。

问题是我不知道如何将 dbExpress 迁移到 FireDAC。FireDAC 是否有类似于 dbExpress DBXCommand 组件的组件?

例如,使用该代码:

我想使用相同的命令,但使用 FireDAC。

什么 FireDAC 组件可以用来替换 dbExpress DBXCommand 并在 FireDAC 上正确使用它(上面代码使用的方式)?

Obs:我真的很想使用 JSON,我需要它。

0 投票
0 回答
1814 浏览

delphi - 在 Firedac 数据库连接中设置 CmdExecTimeout 会导致性能不佳

将 FDConnection.ResourceOptions.CmdExecTimeout 设置为 $FFFFFFFF 以外的任何值似乎都会强制 fireac 为每次调用数据库创建和销毁线程。在 XE5 中调试时,这会减慢应用程序的速度。是否有其他设置来池线程?也许 FDManager 可以提供帮助?

0 投票
3 回答
6573 浏览

sqlite - Delphi Xe5 fireac 数据库锁定错误与 SQLite 数据库

我正在尝试创建一个简单的对象来处理我所有的数据库相关功能。我有返回数据集或执行命令的功能。现在,当我从我的程序中调用它时,我可以使用 Execute_Dataset 获取记录并且它工作正常,但是当我通过调用 Execute_Command 进行更改并执行命令时,我在调用提交事务时收到错误“数据库已锁定”。我已经尝试了所有可能的事情,但它仍然会发生。有人可以了解我做错了什么以及如何防止这种情况发生。

谢谢

0 投票
3 回答
1076 浏览

delphi - 使用 GetLastAutoGenValue

我正在使用 fireDAC TFDQuery 在 informix 数据库中插入值,使用下面的代码片段:

我得到不支持的功能。我什至尝试了空字符串而不是同样的错误。你能指导我正确使用 GetLastAutoGenValue 吗?我正在使用 dbExpress 网桥驱动程序。

0 投票
1 回答
1115 浏览

delphi - 如何使用 TFDMetaInfoQuery 检索字段数据类型

我想检查两个字段在运行时是否具有相同的类型。我将字段名称作为字符串。我想知道它的名称是什么类型的字段。我使用 Delphi xe6 和 FireDAC。我不明白如何在这个范围内使用 TFDMetaInfoQuery。

0 投票
1 回答
1826 浏览

delphi - Delphi 中使用 TField.CustomConstraint 进行数据验证

我使用的是 Delphi 6XE,MySQL 作为数据库服务器。

我有表格的字段,如下所示

在此处输入图像描述

我正在使用 FireDAC。

在此处输入图像描述

我正在尝试使用 实现数据验证TField.CustomConstraint,因此我使用字段编辑器生成TField后代对象,如下所示

在此处输入图像描述

我使用 Object Inspector 设置字段的属性

通过从谷歌浏览和文档,作者给出了CustomConstraint := 'x>1000';我尝试使用的示例,x但是在运行程序时没有显示所有数据,所以我改用字段名称。但无论如何我仍然可以输入我想要的任何数据,根本没有应用任何验证。

在此处输入图像描述

请告知如何在 Delphi 中设置数据验证。谢谢。

0 投票
1 回答
1697 浏览

delphi - Delphi Firedac Update don't apply modified

I can not update rows in the database with the following instructions:

Why? i must use another property of TFDQuery for changes to take effect

0 投票
1 回答
2226 浏览

mysql - 通过 FireDac 和 MySql 的 Master/Detail DataSnap ¿为什么从第二个客户端看不到写入一个客户端的详细记录的数据?

我有两个DataSnap Server通过TFDQuery's数据库。此查询位于 a via a (需要的数据集)中。此数据通过一个导出。TFDConnectionMySQLmaster/detail relationshipTDataSourceTDataSetProvider

在客户端,我有一个TDataModulewith one TSQLConnection、 oneTDSProviderConnection和 two TClientDataSet's,一个用于 the Master,另一个用于 Neested DetailviaDataSetField属性。

当我测试我的客户时,一切正常。

问题是在处理two clients相同的详细记录时,我在一个客户端中写入一个详细信息的数据在我的第二个客户端中看不到,反之亦然。simultaneously

假设我们有一个简单的账单/项目关系的场景: Bill1、Item1、OriginalData

如果我在两个客户端中读取Bill1,则两者都读取相同的数据。如果我在我的第一个客户端中将OriginalData修改为ModifiedData并执行ApplyUpdates,它工作正常,但随后我在我的第二个客户端中刷新相同的Bill1,并且仍然读取未更改的OriginalData

如果我将数据写入MasterTable一切正常,请用我的购买DetailTable它似乎从某个缓存或其他东西中获取数据。BDE我都是通过组件和数据库复制Paradox的,没有问题,但是我们需要使用FireDacMySQL

DataSnap所以,这里有一个问题...... ¿为什么在使用viaFireDac和调用刷新后,我的第二个客户端看不到写入第一个客户端中详细记录的数据MySql

我正在使用 Delphi Xe5 更新 2。

注意:Master/Detailparametrized Query,因此一次只有一个 Bill 处于活动状态。

再次为我糟糕的英语感到抱歉。

0 投票
1 回答
2551 浏览

delphi - 从 DevArt UniDac 迁移到 FireDac

我已经使用 UniDac 2 年了,它对我来说是最好的解决方案,但是因为它不支持异步查询,所以我必须继续使用 FireDac 是否有任何快速迁移向导或我可以使用的东西,因为我有我的表单中有大约 200 多个 TUniStoredProc 组件,我想将它们转换为 TFDStoredProc,手工完成每一个都需要花费大量时间,而我没有,我想用 TFDStoredProc 替换旧的 TUniStoredProc

我的设置:

Embarcadero Rad Studio XE5

组件连接到 MSSQL 数据库

0 投票
0 回答
632 浏览

sqlite - 在多用户环境中打开和关闭数据库连接

这是一个多用户应用程序(多线程),各个部门将访问他们自己的数据库。数据库是 SQLite,我正在使用 FireDac。对于每个部门,我都分配了一个单独的 ADConnection,所以我不会得到任何意外的锁。

哪个连接将被激活(激活)完全取决于 ADQuery3 产生的数量。这是在 MainForm Show 上完成的,因为它需要以这种方式(在成功登录后显示)。我希望能够关闭 FormClose 上的每个连接,但是当多用户使用相同的数据库并登录和注销时我遇到了一些不好的问题。所以我想问一下这是否是我正在做的正确的编程逻辑或者这可以以更好的方式完成?

另外我从来没有使用过这么多的开头结尾,我想知道如何继续这个?

我的意思是当我需要检查是否有其他部门的号码出现时,例如如果 DataModule1.ADQuery3.FieldByName('DEPARTMENT').AsString = '12' 下一个 ELSE 出现在哪里?

结尾;