• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

在程序中动态创建并修改BDE别名

发布: 2007-5-26 13:55 | 作者: 佚名 | 来源: 互连网 | 查看: 150次 | 进入软件测试论坛讨论

领测软件测试网
  使用DELPHI或C++BUILDER编程的朋友都知道,它们对数据库的访问一般通过BDE(Borland Database Engine)来实现。编制数据库管理程序首先要通过SQL Explorer等来设置数据库BDE别名,程序发布时还必须在安装程序中设置,这种方式通用性、灵活性非常差。其实INPRISE已经为我们提供了在程序运行中动态生成访问数据库的BDE别名,动态修改访问参数的方法。假设我们已经在c:\temp下存有两个数据库data1.mdb,data2.mdb,data1 中包含有table1表,data2中包含有TABLE2表。下面以访问这两个数据为例介绍其具体实现方法:
  
  一、生成动态(临时)的BDE别名
  1、新建一个工程。
  2、将TDatabase,TTable,TDataSouce,TDBGrid放在窗体上。
  
  3、双击TDatabase,弹出Form1.Database1 Database对话框,在NAME中输入临时的别名MYDB,在Driver name中选择MSACCESS项,点击Defaults,Parame- teroverrides中会加入一些我们访问数据库所需要的参数:
  
  DATABASE NAME=DRIVE:/PATH/DATABASE.MDB
  USER NAME=
  OPEN MODE=READ/WRITE
  LANGDRIVER=
  SYSTEM DATABASE=
  PASSWORD=
  
  将DATABASE NAME项改为DATABASE NAME=c:\temp\data1.mdb,点击OK退出。
  
  4、将Table1的DatabaseName属性指向MYDB,TableName属性设置为table1。
  
  5、将DataSource1的DataSet属性指向Table1,DBGrid1的DataSource属性指向DataSource1。
  
  6、双击窗体,在窗体的FormCreate事件中加入 table1.Active := True;
  
  7、运行程序,在DBGrid中就可以看到Data1.mdb的table1中的内容了。
  
  以上也可以通过程序语句方式实现:
  
  1、新建一个工程,
  
  2、在窗体上放置TDatabase,TTable,TDataSouce,TDBGrid元件。
  
  3、在ForCreat事件中加入下列语句:
  
  Database1.DatabaseName:= 'MYDB';
  Database1.DriverName:= 'MSACCESS';
  Database1.Params.Clear;
  Database1.Params.Add
  ('DATABASE NAME=C:\TEMP\DATA1.MDB');
  Table1.DatabaseName:= 'MYDB';
  Table1.TableName:= 'table1';
  DataSource1.DataSet:= Table1;
  DBGrid1.DataSource:= DataSource1;
  Table1.Active:= True;
  
  二、程序运行中修改访问参数
  TDatabase访问数据的一些参数都放在Params属性中,这些参数是以TStringList格式存放的。我们修改参数值就可以访问其他数据库。下面举例实现在程序运行中由访问数据库data1改为访问data2。
  1、在窗体中加入按纽Button1。
  
  2、Button1Click事件中加入下列代码:
  
  database1.Close ;
  database1.Params.Values
  ['DATABASE NAME']:='c:\temp\data2.mdb';
  file://以上一句是更改访问数据库
  Table1.TableName :='table2';
  table1.Active := true;
  
  编译执行后,我们先看到的是data1的内容,点击按纽后,DBGrid中便改为 data2中Table2的内容了。
  
  对于其它数据库、网络数据库的访问参数,可在双击TDatabase后弹出对话框中选定相应Driver name,然后点击Defaults获得,具体参数值可参照以上程序及有关资料。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网