问题标签 [zeos]

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 投票
4 回答
1811 浏览

delphi - 当多个用户正在编辑它时,TDBGrid 不会更新

我正在开发一个具有简单数据库的应用程序。所有功能都运行良好,但是当用户从程序中编辑数据库时,其他用户无法立即看到内容。另一个用户需要关闭程序并重新打开它以显示数据并DBGrid使用来自其他计算机的这些更改进行更新。为此,我使用 Delphi 7 和 ZeosLib 来访问我的 Firebird 数据库。我尝试使用 DBNavigator 上的刷新按钮,但它不起作用。

我用来连接数据库的组件是:

  • ZConnection
  • 查询
  • 数据源
  • 数据库网格
  • 数据库导航器

这是我的 ZConnection 和 ZQuery 的代码。

0 投票
2 回答
2834 浏览

delphi - 如何使用 zquery 从 Firebird 数据库中的 2 个表中选择列?

我想在单个数据库文件的 2 个表中显示 TDbgrid 数据。我曾尝试编写如下 sql 语句:

但它总是显示这个错误

我不知道这是不可能的,或者我只是在编写代码时出错,或者是我需要修改的 TDbgrid。我搜索了一份 zeos sql 指南,但找不到。我得到的只是:http: //www.intitec.com/varios/A_ZEOS_basics_tutorial_not_only_for_firebird.pdf但我的一些问题仍然没有得到解答。

我正在使用 firebird 数据库 2.5 和 delphi 7。

我可以在这上面使用什么 SQL 代码?

0 投票
0 回答
2286 浏览

mysql - 如何使用 Delphi ZEOS 嵌入 MySQL (libmysqld.dll)

我正在尝试在 Delphi XE 中使用带有 zeos (7.0.3) 的 libmysqld.dll (mysql 5.1) 的嵌入式 mysql 数据库,
我将 libmysqld.dll 放在同一目录中,
文件夹 language\errmsg.sys
文件夹 data\belajar\biodata。 frm,biodata.MYD,biodata.MYI,db.opt

当我运行代码时,单击 button1 然后它就关闭了,没有错误消息,应用程序终止。

有什么帮助吗?


更新:

我已经解决了这个问题,我把“语言”文件夹的名称和版本错误,它应该是“共享”文件夹和英文子文件夹中的 errmsg.sys

谢谢大家

0 投票
4 回答
8731 浏览

mysql - 多语句 Delphi TZquery (Zeos) 错误

我试图像这样进行多语句查询:

我收到此错误消息: SQL 错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 2 行的“插入客户端(名称,年龄)值('doe','21')'附近使用正确的语法;

我已经检查了手册,组件 TZQuery 和 TZUpdateSql (来自 zeos lib )提供了在内部执行多个语句的可能性。

编辑[已解决]

谢谢 GregD,在运行了几次测试后,交易对我来说很好!这就是我如何使用,在未来帮助他人。

这就是 AutoCommit 属性在 Zeos 中的实际工作方式:

AutoCommit为 True 时,事务会在每条 SQL 语句执行后自动提交,但您可以显式使用 StartTransaction 命令来防止这种自动提交,直到您显式调用 Commit。

AutoCommit为 False 时,您不应调用 StartTransaction。然后事务会自动启动,但不会在每条执行语句后自动提交。

过程StartTransaction StartTransaction 过程在连接的数据库中启动一个新事务。它应该只在 AutoCommit 属性为 TRUE 时使用。每当您尝试在 AutoCommit 设置为 false 的情况下调用它时,都会引发 SInvalidOpInNonAutoCommit。这种行为是意料之中的,因为 StartTransaction 应该用作对 AutoCommit 模式的转义。当您调用 StartTransaction 时,AutoCommit 将“关闭”,然后,当您调用 Commit 或 Rollback 时,AutoCommit 再次“打开”。如果您将 AutoCommit 设置为 false,则会自动创建新事务并选择关闭它们的方式(提交或回滚)。

过程Commit将当前语句提交到数据库。仅应在非 AutoCommit 模式下使用(其中每个语句都是自动提交的,使此过程无用)或当您处于 AutoCommit 模式并希望完成由 StartTransaction 过程打开的事务时。提交完成当前事务,如果有的话。如果您不想将您的数据保存到数据库中,您应该使用回滚过程。

过程回滚 回滚当前事务中所有先前的语句。仅应在非 AutoCommit 模式下使用(其中每个语句都是自动提交的,使此过程无用)或当您处于 AutoCommit 模式并希望完成由 StartTransaction 过程打开的事务时。回滚完成当前事务,如果有的话。如果您不想丢失您的状态,您应该使用 Commit 过程。

0 投票
4 回答
4289 浏览

delphi - 带有 Zeos 的 Postgresql:在 win 7 64 上找不到或无法加载 libpq

我在 win 7 64 上安装了 PostgreSQL 9.2,并且可以使用 dbexpress 从我的 delphi IDE 使用 ODBC 连接到它,没有问题。当我尝试使用 Zeos 进行连接时,虽然我提供了 libpq.dll 的路径,但我仍然收到错误消息(找不到 libpq 或无法加载)。我尝试了通过谷歌搜索找到的所有解决方案,但到目前为止我还没有找到可行的解决方案。我已将 dll 以及后来的所有 dll 放入 system32 中,以查看是否需要这样做。

这是我的设置:

Delphi XE3 Zeos 7 PostgreSQL 9.2 在 windows 7 64

有没有人使用这个系统并且可以使用 zeos 连接到 postgresql 9.2?如果是这样,我错过了什么?

所以我的问题总结在一行是这样的:

在win 7 64上将zeos 7与delphi上的postgresql连接起来的工作配置/步骤是什么?

非常感谢您的回答!!

0 投票
0 回答
611 浏览

delphi - 未计算带有 ZeosLib 的 Firebird 1 上的自动计算字段

Delphi XE2 + Zeos 7.0.3 稳定版 + Firebird 1.0

我正在从 Delphi 5 + IBX 移植一个旧应用程序并遇到了这个问题:

我有一张表,其中一个字段是自动计算的:

在 IBX 上计算得很好。在 ZeosLib 上,它不会被计算出来。使用相同的数据库文件和服务器。

有没有办法强制这种计算发生?我试图通过程序更新该字段,但它是只读的。

回答:我在使用 Zeos 和 Firebird 时遇到了一些问题,所以我认为所有问题都与 Zeos 有关,但事实并非如此,问题是其中一个字段为 NULL,结果被计算为 NULL。

0 投票
0 回答
249 浏览

delphi - 使用 ZeosLib 保留 Firebird 1 的更新

Delphi Xe2 + ZeosLib 7.0.3 稳定版 + Firebird 1.0

我正在对几个表进行更新,并且数据保留在内存中。它不会以其他应用程序可以看到的方式反映在数据库中。

我试过只使用自动提交但没有用。

我还使用了显式事务控制 ZConnection.StartTransaction 和 ZConnection.Commit 也没有工作。

我正在使用 Indy httpServer 在 delphi 上创建的网络服务器中更新数据。我收到发布请求,然后执行读取或更新数据库的操作。该连接是无状态的,但是它维护了一个已连接的客户端应用程序列表和一个 ZConnection 实例,以便每个客户端都具有隔离性,因为请求是线程化的。

除此之外,我遇到的问题是不保存只连接一个客户端并且每次执行一个请求,没有重叠或重新进入。

我需要听听关于使用这种 Firebird 场景的建议,我应该怎么做才能使提交工作。

0 投票
1 回答
294 浏览

delphi - 使用 Delphi XE Zeosdb Tztable 在级联上删除 sqlite3

我有两张桌子 Client , Commande

sqlite3 中的 DDL 如下,

我将 TzTable1 用于客户端,将 TzTable2 用于 Commande 因此,当我通过调用从客户端表中删除客户端时 Tztable1.delete ;
,它不会从 Commande 表中删除关联的命令!

我不知道问题出在哪里!

0 投票
1 回答
1922 浏览

sql-server - 无法使用 Delphi ZeosLib 和 Delphi 7 将 Unicode 插入 SQL Server 2008

我无法使用 Delphi ZeosLib 和 Delphi 7 将 Unicode 插入 SQL Server 数据库,然后读取插入的值。我创建了一个简单的测试程序,它首先插入然后查询插入的值。

测试表架构:

我已经上传了简单的测试程序源(包括 ZeosLib 源)——点击这里下载。我还包括了 ntwdblib.dll,但您可以使用自己的。

测试程序还需要 TNT 组件,可以从这里下载

使用测试程序,我插入的 Unicode 字符在检索时显示为问号 - 我不确定问题出在插入代码还是查询代码上。

我还尝试在插入数据之前将数据编码为 utf-8,然后在从 utf-8 检索数据后解码数据 - 请在测试程序源中搜索“//inserted as utf8”。我可以在解码后查看 Unicode,所以这种方法有效。但是,对于我的实际应用程序,我无法编码为 UTF-8,因为 SQL Server 不完全支持 UTF-8 - 某些字符无法存储。在这里查看我之前的问题。

将不胜感激任何指针。:)

同时,这里是测试程序的来源:

0 投票
1 回答
3849 浏览

mysql - Delphi ZEOSlib:从表中读取并将其写入另一个数据库

是否可以使用 delphi zeoslib 从数据库中读取表并将其写回另一台服务器?

我认为,读取表格并写回结果集,但我不知道如何,这可能吗?

我想到了以下几点:我做了一个 zquery: Select * from table1zconnection1并且我想将结果插入另一个数据库,到zconnection2.

我使用mysql数据库。