问题标签 [dbexpress]

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 投票
3 回答
6470 浏览

delphi - TDataset 书签的有效期是多久?

我正在工作的项目中有如下代码。

就个人而言,我很少使用书签——除了重新定位我只移动光标位置的数据集(创建列表、填充字符串列表等)。如果我Refresh、更新(特别是当过滤器可以使记录不可见时)、重新获取(Close/ Open)或任何修改数据集中数据的操作,我不使用书签。我更喜欢Locate在主键上(TClientDataset当然使用 a )或重新查询修改参数。

书签的有效期到什么时候?直到一个Refresh?直到Close/Open完成重新获取数据?安全区在哪里结束?

考虑一下我TClientDatasetTSQLQuery(DbExpress)一起使用的答案。

0 投票
4 回答
6165 浏览

oracle - 如何从远程客户端连接到 Oracle 10g?

使用标准的 Delphi dbexpress dbexpora.dll + oci.dll (10g)(安装了 oracle 即时客户端)。

当直接在 Oracle 数据库上时,我们可以很好地运行 dbexpress 应用程序。在这种情况下使用的本地 dbxconnections.ini 别名只是将我们的数据库服务名称 ORCL 指定为“数据库”参数。

我们正在尝试从客户端计算机连接到同一个数据库并收到一系列错误。

自然,我们在数据库参数中尝试各种字符串。使用像 MOHAWK2:1521:ORCL 这样的字符串,我们至少可以得到一个监听器错误:

连接失败:ORA-12514 TNS:监听器当前不知道连接描述符中请求的服务。

我想有一些工具可以测试命名可用性......

0 投票
1 回答
345 浏览

oracle - 为什么我在使用 DBExpress 的 Oracle 10g 上收到 255 条记录插入限制?

我在正常的 SQL 处理过程中碰壁了

从带有 DBEXPRESS 的远程客户端连接到 Oracle 10g 时, - 使用标准 dbxpora.dll + oci.dll

在事务中,恰好插入 255 条记录后,连接挂起 30 秒并返回错误:

ORA-03114(好像它失去了连接......)

在事务中将 255 条记录插入任何表时会发生这种情况。(当在数据库盒上本地运行时,一切正常)

有什么我想念的吗?

0 投票
2 回答
1687 浏览

database - 在哪里可以找到适用于 mysql 的免费开源 dbexpress 驱动程序

我需要一个用于 mysql 的 dbx 驱动程序。它应该是免费的。开源受到赞赏。(德尔福 7+ 和 mysql 5+)

0 投票
2 回答
2506 浏览

delphi - Delphi 的免费 dbexpress 驱动程序列表

任何人都知道/拥有免费开源 dbexpress 驱动程序的完整列表?

0 投票
3 回答
13274 浏览

delphi - 如何检测 ApplyUpdates 是否会插入或更新数据?

在 ClientDataSet 的 AfterPost 事件处理程序中,我需要当前记录的 ApplyUpdates 函数是否会执行更新或插入的信息。

AfterPost 事件将为新的和更新的记录执行,我不想声明一个新的 Flag 变量来指示“更新”或“插入”操作是否正在进行中。

示例代码:

ApplyUpdate 完成后,应用程序将在 AfterPost 方法中写入日志。所以这个方法是最接近动作的地方,我更喜欢一个完全可以插入到这个事件处理程序中的解决方案。

如何使用 ClientDataSet 实例 QryTest 中的信息实现 IsInserting 函数?

编辑:我将尝试此处解释的 ClientDataSet.UpdateStatus 。

0 投票
2 回答
4611 浏览

delphi - Delphi 2007 中的 dbExpress 错误

我已经有一段时间了 Delphi 2007。我尝试了 Delphi 2009 试用版。然后我卸载了试用版。现在我在 dbExpress Delphi 2007 应用程序中得到了这个:

我的电脑上没有 dbxora.dll;相反,我有 dbxora30.dll。查看另一台开发机器(它从未安装过 Delphi 2009),我也看到了 dbxora30.dll。FWIW,该文件在这里:

我的路径确实包括这个位置。

所以看起来 Delphi 2009 引入了一个新的“dbxora.dll”,它取代了“dbxora30.dll”......当我卸载 Delphi 2009 时,它未能将我的系统指向原来的“dbxora30.dll”。但是现在我该如何再次使用 dbxora30 呢?

有什么建议么?

0 投票
1 回答
522 浏览

delphi - 独立的 DBExpress 连接编辑器 (Delphi 2009)

是否有用于 DBExpress 连接(Delphi 2009)的免费独立编辑器,可以安装在客户 PC 上并用于管理 DBExpress 连接和(如果可用)驱动程序?

0 投票
3 回答
1018 浏览

delphi - Delphi 6 -> Delphi 2006 dbexpress 怪异?

我有一个旧应用程序(用 Delphi 6 编写)必须移植到 Delphi 2006(更新 2)。该应用程序曾经使用 DBExpress 连接到 Interbase 6.x 数据库,但新版本需要连接到 Firebird 2.x 超级服务器。

移植顺利,没有真正的问题。但是现在,当我尝试从移植的应用程序连接到新的 Firebird 服务器时,我收到以下错误:

数据库错误 数据库服务器错误:没有当前记录用于获取操作

运行使用 Delphi 6 编译的相同应用程序,与相同的 Firebird 服务器通信运行良好。在 Delphi 2006 中编译应用程序所需的更改与数据库代码无关——所有本地库的东西。该应用程序使用 TSQLDataset en datasetproviders 和 clientdatasets。

有人知道如何或为什么吗?对可能导致此行为的 DBExpress 的任何更改?谢谢。

0 投票
1 回答
1271 浏览

sql-server - 在 Delphi 2010 或 Delphi 2009 中解决 TDatasetProvider 中的错误(困难方式)

就像每年我作为 SA 所有者都会收到一个新的 Delphi 版本,这就是我所做的:

  1. 安装delphi版本XX。
  2. 运行delphi版本XX
  3. 插入一个 TSQLConnection 组件。
  4. 将它连接到 Microsoft SQL Server 2000,它至少会与我们一起工作六年。
  5. 插入一个带有“select top 1 * from myTable”的 TSQLQuery,这是一个带有一些货币字段的表。
  6. 插入更多组件 TDatasetProvider、TClientdataset、TDatasource、TDBGrid 和一个 TButton。
  7. 链接一切。
  8. 在带有引发异常的 DatasetProvider.OnUpdateError 中创建一个事件处理程序。
  9. 一个clientdataset1.applyupdates(0); 在按钮1click。
  10. 对当前记录进行一些更改。
  11. 按 button1 并得到 delphi 2005 及更高版本提供的相同异常。
  12. 为 MsSQLServer 更新我的 corelab 或 devArt dbx 驱动程序。

现在是认真的。几年前我发现 TDatasetprovider 正在生成一个非常简单的错误: TFMTBCDField(Delphi 中货币字段的表示)为 SQL Server 2000 和以前的版本生成不兼容的插入/更新 sql 命令。问题很简单,数据集提供程序为那些 sql 服务器不接受的货币字段生成引用值。

示例:具有 varchar 字段和 money 字段的表。您可以使用这样的更新:

更新测试表设置 MYMONEYFIELD = '1' 其中 MYVARCHARFIELD = 'A'

对于以前版本的 SQLServer,您需要使用:

更新测试表设置 MYMONEYFIELD = 1 其中 MYVARCHARFIELD = 'A'

有人对此问题有任何解决方法吗?