Delphi专题 ·

Delphi7中ZEOSDBO控件使用

本文采用的是Delphi7+ZEOSDBO控件,读取Sqlite数据库,并解决Dbgrid Memo字段及乱码的问题

很多同学 都在问Delphi7怎么弄sqlite数据库, 网上也没有很清晰的,所以就写出来,大家一起分享
本人菜鸟,大神勿喷。
这里使用的是ZEOSDBO控, 官网为https://sourceforge.net/projects/zeoslib/,最新版本为7.2.4。
支持的很多。。。
(pooled.* ASA7 ASA8 ASA9 ASA12 oracle oracle-9i sqlite sqlite-3 interbase-6
firebird-1.0 firebird-1.5 firebird-2.0 firebird-2.1 firebird-2.5 firebirdd-1.5
firebirdd-2.0 firebirdd-2.1 firebirdd-2.5 postgresql postgresql-7 postgresql-8 postgresql-9
mysql mysql-4.1 mysql-5 mysqld-4.1 mysqld-5 MariaDB-5 mssql sybase FreeTDS_MsSQL<=6.5 FreeTDS_Sybase<10 FreeTDS_Sybase-10+ FreeTDS_MsSQL-7.0 FreeTDS_MsSQL-2000 FreeTDS_MsSQL>=2005 ado)

一、安装控件

  • 1、进入 ...\ZEOSDBO-7.1.4-stable\packages\delphi7 双击 ZeosDbo.bpg。然后点击Delphi7菜单栏的 project à compile all projects,编译完点击 ok。
  • 2、在Delphi7菜单栏 Tool àEnvironmentOptionsàLibraryàLibrary Path中加入路径,(所在文件夹)\ZEOSDBO-7.1.4-stable\packages\delphi7\build
  • 3、双击 ..\ZEOSDBO-7.1.4-stable\packages\delphi7\ZComponentDesign.dpk,点击install,安装完毕后,控件就都出现了

二、读取数据库

  • 1、新建个application 拖入DbGrid1、DataSource1、ZQuery1、ZConnection1、listview1、Button1、Button2 7个控件
  • 2、首先把控件链接起来,我习惯用代码写在Form1的onCreate事件中

  • 3、在Listview1中显示表名
    • 1)修改Listview1的 ViewStyle属性为 vsReport ,双击Listview1 添加一个column 修改Caption属性为 数据库表名,RowSelect属性改为True,GridLines属性改为True;
    • 2)修改button2 caption属性为 读取表 button1 Caption属性为连接表
    • 3)在Button2的OnClick事件中写入代码

    这时,已经能读取表名了

  • 4、在DbGrid1中显示数据库内容
    在Button1的OnClick事件中写入代码

    这时若发现全部为乱码,修改ZConnection1的AutoEncodeString属性为True就好了。

  • 5、由于用的是Dbgrid,Text字段都不显示内容,显示的为(Memo)。网上有很多解决的办法,大部分都推荐换DbGridh控件,这里既然用,就不换了,用代码搞定。
    Query1 Fields 有个ongettext事件,用这个实现。定义两个过程

    然后在ZQuery1的AfterOpen事件中写入代码

三、最后就是DbGrid1颜色调整了。在DbGrid1控件的onDrawColumnCell事件中自己发挥了

结果如图所示
Delphi7中ZEOSDBO控件使用 Delphi专题 第1张

相关下载

点击下载

参与评论