这几天刚从cb6升级到cb2007,有个自己写的程序使用dbExpress开发firebird数据库,连接不上,在网上找了一些资料,自己又摸索了一些cb2007的新功能,介绍给大家。
首先声明,本人不是专职程序员,编程只是爱好,以下方法并不是我最先发现的,我只是整理一下,并给那些还在cb6下开发的兄弟介绍点cb2007的新东西。为了迎接cb2009,呵呵。
图片点击放大。
1、 首先修改dbExpress的ini配置默认是C:\Documents and Settings\All Users\Documents\RAD Studio\dbExpress
dbxconnections.ini增加的内容
FBCONNECTION是firebird网络版连接
FB_ECONNECTION是firebird嵌入版连接
[FB_ECONNECTION]
[FBCONNECTION] Password=masterkey sqldialect=3
dbxdrivers.ini增加的内容
[Installed Drivers]
// 嵌入版
//网络版
[Firebird_E TransIsolation]
[Firebird TransIsolation] |
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);