问题标签 [anydac]

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 投票
1 回答
989 浏览

delphi - 从 Anydac 移动到 Firedac 时 NULL 丢失

我正在将代码Delphi 2007 + AnyDacDelphi XE4 + FireDac. 如果AnyDac所有空字符串都存储为NULL,并且FireDac所有空字符串都存储为空字符串''

我需要回到NULL。最好的方法是什么?我使用参数存储到数据库:

0 投票
2 回答
2141 浏览

delphi - 将长 Unicode 字符串传递给 FireDac TADQuery 参数

我正在使用 AsWideString 将 Unicode 字符串传递给 TADQuery 参数。

但是当字符串变得太长时,我得到了错误:

然后我决定使用 AsMemo 属性

在这种情况下,我的 Unicode 字符串无法正确显示。

解决这两个问题的方法是什么?

0 投票
1 回答
3350 浏览

sql-server - 使用 FireDac 在 Delphi 中动态创建和调用存储过程的正确方法是什么?

我对 FireDAC 比较陌生。我希望能够动态地“动态”调用存储过程。到目前为止,我有以下内容:

我称之为

但是,存储过程无法执行。也就是说,代码运行良好,没有显示错误消息,但存储过程没有运行。

更多信息——如果我删除一个组件并在代码中设置参数,它运行良好。

有人知道我错过了什么吗?

0 投票
0 回答
700 浏览

delphi - 使用 updatesql 组件时的 Firedac / Anydac 查询问题

以下问题与使用访问数据库的firedac有关:adqueryupdatesql

首先是场景:

在一种情况下,我updatesql给出了一个错误,即表中的数据没有更新,但是我的数据集在显示错误后移动到下一条记录。但是现在数据与基于此数据集的表格网格不同步*(adquery)*显示未成功应用的更新版本。
然而,该表仍然具有给定记录的旧版本。


我的问题:

  • 如果在修改过程中发生错误,如何知道modifysql 没有成功运行并捕获该错误以根据表中的数据刷新数据集?
0 投票
3 回答
2338 浏览

delphi - Delphi SQLite Wrapper 具有静态链接和加密支持

我需要一个 SQLite 的包装器,它支持静态链接并且至少有一些基本的加密支持(也最好是免费的)

总结一下我到目前为止的发现

ZeosLib - 支持加密。不支持静态链接。

AduCom - 网站大部分都关闭了

AnyDAC - 找不到 AnyDAC 的任何定价或购买链接,因为它已被 Embarcadero 购买并转向 FireDAC?

LiteDAC - 提供静态链接。标准版(约 130 美元)不提供加密。专业版(~$200)

DISQLite3 - 支持静态链接和加密。免费供个人使用(功能有限)。专业(~150 欧元)

概要 mORMot - 支持静态链接。不确定加密。但我无法理解这个框架。ORM、SOA、UI、PDF、SQLite 组合成一个庞大的框架。现在我不知道如何只使用带有静态链接的 SQLite 部分。似乎有一些解释https://stackoverflow.com/a/4971398/605027但我不确定它是否仍然适用。

到目前为止,我发现的最好的包装器是SQLite3-Delphi-FPC。非常简约且易于使用。理想情况下,我想继续使用具有 Synopse 的静态链接功能和某种基本加密的相同包装器。关于如何实现这一点的任何指示?

PS我不想在资源中嵌入 sqlite3.dll 并在执行期间动态加载它。

注意有很多问题,因此关于这个话题有很多混乱。所以我觉得有必要发布一个新问题

0 投票
1 回答
1964 浏览

delphi - AnyDac aka FireDac 无法生成更新查询

我使用 UniDac 已经很长时间了,并决定继续使用 FireDac,因为在继续使用后它具有良好的异步方法,我发现我的数据编辑都不再工作了,这给了我一个错误:

[FireDAC][物理]-330。无法生成更新查询。更新表未定义。

我在这里要做的是我有一个 TFDStoredProc 组件,它从数据库中获取所有数据并让我编辑它,使用 unidac 我可以轻松地编辑数据而不会出现这样的问题:

并且它有效,但使用 AnyDac 却没有,我尝试手动指定 UpdateTable,这会导致另一个问题:

[FireDAC][Phys][ODBC][Microsoft][SQL Server Native Client 11.0][SQL Server]列名“CreatedID”无效。

我正在使用 Microsoft SQL Server 2012 FireDac 8.0 和存储过程来获取结果有什么想法吗?

附言

查询看起来像这样

看起来 FireDac 更新构建器无法识别字段上的别名,我们将不胜感激。

0 投票
1 回答
2353 浏览

sql - MSAccess SQL 参数太少。预计 4

我正在使用 Delphi XE2 和 AnyDAC 以及一个 MSAccess 数据库。

表“timea”有 5 个字段:

Rec_No AutoNumber
App text
User_ID text
PW text
Comment memo

此代码引发以下错误。该查询在 Access 查询设计器中运行良好。

项目 PWB.exe 引发异常类 EMSAccessNativeException,消息为“[AnyDAC][Phys][ODBC][Microsoft][ODBC Microsoft Access Driver] 参数太少。预计 4.'。

0 投票
1 回答
242 浏览

sqlite - 在没有命令的情况下启用 SQLite 外键

有没有办法在不使用 sql 命令的情况下使用 TFDQuery 组件启用 SQLite 外键?

我用外键构建了一个 SQLite DB,它也可以工作,也没有启用该选项。但是,我可能会更好地使用它。


鲁马

0 投票
1 回答
334 浏览

delphi - 使用带有anydac(现在为firedac)脚本的参数获取错误

我无法正确执行以下脚本。它在 delphi 中针对 firebird 数据库运行。

它给出了“令牌未知 - 第 1 行,第 48 列”的错误,参数 (:DEFVAL) 位置

我尝试先分配 sql 文本,然后调用 Params.FindParam 但它不在列表中。这适用于查询。

不使用参数而只在 SQL 字符串中包含默认值是可行的,但此代码用作更大框架的一部分,并且该选项是最后的手段。

0 投票
0 回答
851 浏览

sql - Firebird 默认排序规则

使用下面的 SQL 创建 Firebird 数据库时,它不遵循指定的默认排序规则。但是,如果我在创建数据库后更改默认排序规则,它就可以工作。

这将创建一个默认排序规则为 UTF8 的数据库。我尝试省略 CharacterSet 的参数,但这将创建一个没有字符集的数据库,而不是 sql 语句提供的字符集。

编辑:添加组件设置

创建数据库后执行以下SQL会将默认排序规则更改为UNICODE_CI_AI

我应该使用什么 SQL 以便在创建数据库时正确设置默认排序规则?

我目前正在使用 Firebird 2.5.5 并使用 AnyDac 组件从 Delphi 2006 访问它。