问题标签 [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.
delphi - 从 Anydac 移动到 Firedac 时 NULL 丢失
我正在将代码Delphi 2007 + AnyDac
从Delphi XE4 + FireDac
. 如果AnyDac
所有空字符串都存储为NULL
,并且FireDac
所有空字符串都存储为空字符串''
。
我需要回到NULL。最好的方法是什么?我使用参数存储到数据库:
delphi - 将长 Unicode 字符串传递给 FireDac TADQuery 参数
我正在使用 AsWideString 将 Unicode 字符串传递给 TADQuery 参数。
但是当字符串变得太长时,我得到了错误:
然后我决定使用 AsMemo 属性
在这种情况下,我的 Unicode 字符串无法正确显示。
解决这两个问题的方法是什么?
sql-server - 使用 FireDac 在 Delphi 中动态创建和调用存储过程的正确方法是什么?
我对 FireDAC 比较陌生。我希望能够动态地“动态”调用存储过程。到目前为止,我有以下内容:
我称之为
但是,存储过程无法执行。也就是说,代码运行良好,没有显示错误消息,但存储过程没有运行。
更多信息——如果我删除一个组件并在代码中设置参数,它运行良好。
有人知道我错过了什么吗?
delphi - 使用 updatesql 组件时的 Firedac / Anydac 查询问题
以下问题与使用访问数据库的firedac有关:adquery
updatesql
首先是场景:
在一种情况下,我updatesql
给出了一个错误,即表中的数据没有更新,但是我的数据集在显示错误后移动到下一条记录。但是现在数据与基于此数据集的表格网格不同步*(adquery)*显示未成功应用的更新版本。
然而,该表仍然具有给定记录的旧版本。
我的问题:
- 如果在修改过程中发生错误,如何知道
modifysql
没有成功运行并捕获该错误以根据表中的数据刷新数据集?
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 并在执行期间动态加载它。
注意:有很多问题,因此关于这个话题有很多混乱。所以我觉得有必要发布一个新问题
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 更新构建器无法识别字段上的别名,我们将不胜感激。
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.'。
sqlite - 在没有命令的情况下启用 SQLite 外键
有没有办法在不使用 sql 命令的情况下使用 TFDQuery 组件启用 SQLite 外键?
我用外键构建了一个 SQLite DB,它也可以工作,也没有启用该选项。但是,我可能会更好地使用它。
鲁马
delphi - 使用带有anydac(现在为firedac)脚本的参数获取错误
我无法正确执行以下脚本。它在 delphi 中针对 firebird 数据库运行。
它给出了“令牌未知 - 第 1 行,第 48 列”的错误,参数 (:DEFVAL) 位置
我尝试先分配 sql 文本,然后调用 Params.FindParam 但它不在列表中。这适用于查询。
不使用参数而只在 SQL 字符串中包含默认值是可行的,但此代码用作更大框架的一部分,并且该选项是最后的手段。
sql - Firebird 默认排序规则
使用下面的 SQL 创建 Firebird 数据库时,它不遵循指定的默认排序规则。但是,如果我在创建数据库后更改默认排序规则,它就可以工作。
这将创建一个默认排序规则为 UTF8 的数据库。我尝试省略 CharacterSet 的参数,但这将创建一个没有字符集的数据库,而不是 sql 语句提供的字符集。
编辑:添加组件设置
创建数据库后执行以下SQL会将默认排序规则更改为UNICODE_CI_AI
我应该使用什么 SQL 以便在创建数据库时正确设置默认排序规则?
我目前正在使用 Firebird 2.5.5 并使用 AnyDac 组件从 Delphi 2006 访问它。