标签: zeos

数据库连接Delphi

我使用delphi多年了,但从来没有使用数据库的东西,但最近开始研究和测试.

我必须说,我印象深刻,大部分事情都是自动发生的,我习惯用手写在php和python中.

我将为朋友(2层)5台用户计算机,1台数据库服务器开发商业系统.

数据库服务器将是一个体面的机器(raid-1)2硬盘驱动器运行(MySql5.1或Postgre或Firebird,打开建议).

ADO

  • 使用方便
  • 易于部署(仅限mysqlconnector安装程序)
  • 慢一点?

的dbExpress

  • 需要发送4个文件[dbxconnections.ini,dbxdrivers.ini,mysqldll,driverdll]
  • 越复杂(越难使用)
  • ClientDataSet增加了复杂性,但看起来非常有用
  • 没有免费的Postgre驱动程序?

ZEOS

  • 易于部署(1个dll)
  • 使用方便

如您所见,所需的功能是:

  • 快速
  • 使用方便
  • 易于部署

我无法在真实场景(客户端,服务器)中测试所有内容,所以我希望有经验的人可以帮助我选择哪一个以及为什么.

编辑:谢谢大家,我想我会和ADO(可能)或Zeos一起去

在此先感谢
亚瑟

database delphi ado dbexpress zeos

7
推荐指数
2
解决办法
3900
查看次数

将TCP MySQL连接重定向到代理

我有一个Delphi应用程序,它连接到Internet上的MySQL发布数据库,地址如mysql01.example.com:3306.

但是,我的客户端计算机位于代理后面,如果我通过代理,我就可以连接.我使用ZeosLib进行连接,它没有代理身份验证.

是否可以使用某种代理转发程序转发到代理的连接?还有其他可能解决这个问题吗?

非常感谢.

mysql delphi proxy zeos

5
推荐指数
1
解决办法
699
查看次数

多个语句Delphi TZquery(Zeos)错误

我试图像这样做一个多语句查询:

// without the second insert the query works fine.
// i need 2 querys to work because later, i'll do inserts on different kind of tables.
// that's why i need 2 querys, not a single query which insert 2 records.   

with ZQuery1 do
    begin
        SQL.Clear;
        SQL.Add('insert into client (name,age) values ('+QuotedStr('john')+','+QuotedStr('20')+');');
        SQL.Add('insert into client (name,age) values ('+QuotedStr('doe')+','+QuotedStr('21')+');');
        ExecSQL;
    end;
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:SQL错误:您的SQL语法中有错误; 检查与您的MySQL服务器版本相对应的手册,以便在第2行的'insert into client(name,age)values('doe','21')'附近使用正确的语法;

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

编辑[求助]

谢谢GregD,经过多次测试,交易对我来说很好!这就是我如何使用,以帮助将来的其他人.

try
    ZConnection.AutoCommit := True;
    ZConnection.StartTransaction;

    With ZQuery Do
    begin
        SQL.Clear;
        SQL.Add('insert …
Run Code Online (Sandbox Code Playgroud)

mysql delphi zeos delphi-xe3

4
推荐指数
2
解决办法
7654
查看次数

如何将多维数组传输到MySQL表(通过Zeoslib)?

我在Delphi中使用Zeoslib库.

我有一个大的多维静态数组,我需要将其转移到本地MySQL数据库中的空表.我怎样才能有效地做到这一点?

只需迭代一百万个插入语句?

mysql sql arrays delphi zeos

2
推荐指数
1
解决办法
719
查看次数

如何在允许其他用户编辑之前检查用户是否正在编辑表记录,而不是等待发布?

我正在开发一个艺术家档案和桌面软件的网站来管理其数据库内容.有许多运营商会在其收件箱中收到相同数量的待审核记录,以便进行审批和发布.问题是当两个或多个运算符尝试编辑同一记录时.数据库服务器(远程mysql)将引发锁定错误,或者只是维护最后保存它的运算符的数据.

在向另一个用户授予对此记录的访问权限之前,检查是否有人已经在编辑记录的最佳方法(更简单和更有效的方法),或者如果记录的所有者是他自己再次更新他的记录,那将是什么?网站?

该软件仍在实验室中.但当我将它交付给客户时,我知道这将是一个问题.

我可以创建一个表来将每个记录标记为"在编辑中"或"空闲",因此我不需要改变表的结构(因为人们已经在网站上使用它们).但我需要确保有更优雅/更快的方式来做到这一点.

php mysql delphi remote-access zeos

2
推荐指数
1
解决办法
288
查看次数

在MySql + Zeos lib上提交

我使用下一个代码在非autocommin连接上发布一些记录:

ZConnection1.AutoCommit := False;

  try
    ZTable1.Insert;
    ZTable1.FieldByName('name').AsString := 'John Doe';
    ZTable1.Post;
    ZConnection1.Commit;
  except
    ZConnection1.Rollback;
  end;
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我的数据库中没有保存任何内容.

我尝试下一个代码后......

ZConnection1.AutoCommit := False;

   with ZQuery1 do begin
      SQL.Text := 'INSERT INTO mytable (name) values ("John Doe")';
      ExecSQL;
      SQL.Text := SQL.Text + 'COMMIT' ;
      try
        ExecSQL;
      except
        SQL.Text := 'ROLLBACK';
        ExecSQL;
      end;
    end;
Run Code Online (Sandbox Code Playgroud)

......一切都很完美.

我在第一个案子上做错了什么?我使用Delphi6,MySql,Zeos库和InnoDB表.

mysql sql delphi zeos

2
推荐指数
1
解决办法
2949
查看次数

当我要求unsigned big int时,为什么Delphi(Zeos)在SQLite中给我提供了大字符串?

我正在使用最新的Zeos和SQLite 3.一旦我们创建了所有持久性整数字段,它通常很顺利,从MySQL转换TLargeInt.

但是当我们使用列定义unsigned big int(根据https://www.sqlite.org/datatype3.html允许的唯一无符号类型)时,Delphi会调用结果字段a ftWidestring.

mysql sql delphi sqlite zeos

0
推荐指数
1
解决办法
887
查看次数

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

我想在单个数据库文件上的2个表上显示TDbgrid数据.我试过写sql语句,如:

select "Client", "Address", "Balance" from "table1"
and "Payment" from "table2"
Run Code Online (Sandbox Code Playgroud)

但它始终显示此错误

SQL Error: Dynamic SQL Error DQL Error code = -104 Token Unknown - line 2,
column1 and.Error -104.Invalid token The SQL: select "Client", "Address", "Balance"
from "table1"
and "Payment" from "table2" 
Run Code Online (Sandbox Code Playgroud)

我不知道是不可能的,或者我在编写代码时遇到错误,或者是我需要修改的TDbgrid.我搜索了一个zeos sql指南,但我找不到一个.我得到的只是:http://www.intitec.com/varios/A_ZEOS_basics_tutorial_not_only_for_firebird.pdf但我的一些问题仍未得到答复.

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

我可以在这上面使用哪些SQL代码?

delphi firebird zeos

-1
推荐指数
1
解决办法
2329
查看次数

标签 统计

delphi ×8

zeos ×8

mysql ×6

sql ×3

ado ×1

arrays ×1

database ×1

dbexpress ×1

delphi-xe3 ×1

firebird ×1

php ×1

proxy ×1

remote-access ×1

sqlite ×1