C++ Builder 2007中使用dbExpress开发firebird数据库

http://www.89zz.com/Design/wrkf/CJJ/201010/108068.html

这几天刚从cb6升级到cb2007,有个自己写的程序使用dbExpress开发firebird数据库,连接不上,在网上找了一些资料,自己又摸索了一些cb2007的新功能,介绍给大家。

首先声明,本人不是专职程序员,编程只是爱好,以下方法并不是我最先发现的,我只是整理一下,并给那些还在cb6下开发的兄弟介绍点cb2007的新东西。为了迎接cb2009,呵呵。

图片点击放大。

1、 首先修改dbExpress的ini配置默认是C:Documents and SettingsAll UsersDocumentsRAD StudiodbExpress

dbxconnections.ini增加的内容

FBCONNECTION是firebird网络版连接

FB_ECONNECTION是firebird嵌入版连接

[FB_ECONNECTION]
DriverName=Firebird_E
Database=database.fdb
RoleName=RoleName
User_Name=SYSDBA
Password=masterkey
ServerCharSet=
SQLDialect=3
ErrorResourceFile=
LocaleCode=0000
BlobSize=-1
CommitRetain=True
WaitOnLocks=True
Interbase TransIsolation=ReadCommited
Trim Char=False

[FBCONNECTION]
drivername=Firebird
Database=database.fdb
rolename=RoleName
User_Name=SYSDBA

Password=masterkey

sqldialect=3
localecode=0000
blobsize=-1
commitretain=True
waitonlocks=True
interbase transisolation=ReadCommited
trim char=False

dbxdrivers.ini增加的内容

[Installed Drivers]
DB2=1
Firebird=1 //网络版
Firebird_E=1 // 嵌入版
Interbase=1
MySQL=1
Oracle=1
Informix=1
MSSQL=1
ASA=1
ASE=1
BlackfishSQL=1
DBXTrace=1
DBXPool=1

// 嵌入版
[Firebird_E]
GetDriverFunc=getSQLDriverINTERBASE
LibraryName=dbxint30.dll
VendorLib=fbembed.dll
Database=database.fdb
RoleName=RoleName
User_Name=SYSDBA
Password=masterkey
ServerCharSet=
SQLDialect=3
BlobSize=-1
CommitRetain=True
WaitOnLocks=True
ErrorResourceFile=
LocaleCode=0000
Interbase TransIsolation=ReadCommited
Trim Char=False

 //网络版
[Firebird]
GetDriverFunc=getSQLDriverINTERBASE
LibraryName=dbxint30.dll
VendorLib=fbclient.dll
Database=database.fdb
RoleName=RoleName
User_Name=SYSDBA
Password=masterkey
ServerCharSet=
SQLDialect=3
BlobSize=-1
CommitRetain=True
WaitOnLocks=True
ErrorResourceFile=
LocaleCode=0000
Interbase TransIsolation=ReadCommited
Trim Char=False

[Firebird_E TransIsolation]
ReadCommited=1
RepeatableRead=2

[Firebird TransIsolation]
ReadCommited=1
RepeatableRead=2

$False$

2、为了方便复制fbclient.dll到system32目录下,fbclient.dll例如在:

3、添加firebird例子数据库EMPLOYEE.FDB到数据库别名中,例如

4、用记事本打开aliases.conf,添加 例如

5、新建个vcl程序,界面如下

6、组件连接顺序

DBGrid1->DataSource->   DataSource1->DataSet->   ClientDataSet1->ProviderName->   DataSetProvider1->DataSet->

SQLQuery1->SQLConnention->    SQLConnection1.

7、点SQLConnection1的ConnectionName选FBCONNECTION,设定如下:

8、点DataSetProvider1,主要是opyions中的poAllowMultiRecordUpdates,poAllowCommandText,poUseQuoteChar 为true

设定如下:

9、点Data Explorer标签选FIREBIRD,FBCONNECTION右键modify connection,database name为EMPLOYEE,

user name 为 sysdba, password 为 masterkey

10、点FBCONNECTION->sql wondow,选sql window双击的CUSTOMER,sql语句出现在下面的窗口,复制到

ClientDataSet1属性commendtext属性,ClientDataSet1的Active属性为true;

11、retrieve data from table 表的数据浏览

12、alter table 表的字段浏览

13、drop table删除表,慎用!!!!

14、添加ButtonUpdate的OnClick事件

void __fastcall TForm3::ButtonUpdateClick(TObject *Sender

  )

   { ClientDataSet1->ApplyUpdates(0);}

15、F9运行,在DBGrid1中修改数据后点ButtonUpdate按钮更新数据。

16、程序手写的代码只有一行

ClientDataSet1->ApplyUpdates(0);

本文地址:http://www.89zz.com/Design/wrkf/CJJ/201010/108068.html

posted on 2011-02-25 14:23  chulia  阅读(502)  评论(0编辑  收藏  举报

导航