发新话题
打印

如何动态设置BDE别名的说明

如何动态设置BDE别名的说明

  这个问题其实是考察程序员对BDE的TSession组件的熟悉程度,一个数据库程序的建立,即使你没有显式的添加TSession组件,系统中依然存在一个名字为Session的TSession对象,你可以在任何位置调用该对象的方法和属性。TSession类的很多方法可以帮助我们的应用程序获取系统BDE环境,下面介绍一个代码片断用以添加一个BDE别名:

  var
  BDEList : TStringList ;
  ...
  begin
  ...
  BDEList := TStringList.Create () ;
  try
  Session.GetAliasNames(BDElist) ; // 获取系统所有BDE别名列表
  if BDEList.IndexOf('DragonPC')= -1 then begin // 如果没有我们的BDE别名"DragonPC"
  BDEList.Clear ;
  BDEList.Add('SERVER NAME='   'SQLServerName')); // 数据库服务器名称
  BDEList.Add('DATABASE NAME=master') ; // 默认数据库
  BDEList.Add('USER NAME=sa'); // 用户名
  Session.AddAlias('DragonPC', 'MSSQL', BDEList) ; // 添加一个MSSQL类型的BDE别名
  ShowMessage('系统即将建立BDE别名!') ;
  Session.SaveConfigFile() ; // 存储BDE配置
  end;
  finally
  BDEList.Free ;
  end;

  这么简单,用户就可以随时建立、删除和修改BDE别名(有兴趣的朋友可以查看TSession组件的源代码,看看调用了哪些BDE函数)。另外像DeleteAlias,ModifyAlias,GetDatabaseNames,GetDriverNames,GetStoredProcNames,GetTableNames,GetPassword等等TSession类的方法,使用起来非常简单,通过Delphi的随机帮助,读者可以试着自己调用一下看看。通过对Session的灵活应用,再配合我下面将要提到的扑捉SQL异常的技巧,你完全可以写一个媲美SQL Explorer的通用数据库查询工具。

TOP

发新话题