如何编程改变数据库的别名(50分)

  • 主题发起人 李宏光
  • 开始时间
更改别名应该是很容易的事, 用DBE Administrator来改就是啦, 不知道你所用的
时那一个版本, 遇到什么困难
 
可以用BDE的API添加一个新的ALIAS,然后删掉老的ALIAS
 
到这个网址看看,然后再看bde api的help:
http://www.inprise.com/devsupport/bde/bdeapiex
 
dwwang,您把这个URL当万金油啦 *_^
 
您的那个问题没解决了,还不让我试试这个? ^_^
 
您应该用
BDE的函数 dbiAddAlias完成此任务
关于此函数,您可以在帮助BDE API的帮助文件索引里输入 DBIADDALIAS
找到使用方法,很简单的,里面还带有 DELPHI的两个例子

注意调用此函数前需要先调用 dbiinit

Check(dbiInit(nil));
然后再调用 DbiAddAlias
很详细了,到此。
如果您还有问题,我EMAIL给您一个程序过去
 
删除别名:

function DbiDeleteAlias (hCfg: hDBICfg; pszAliasName: PChar):
DBIResult stdcall;

 
唉,又是这个问题。
dbiAddAlias和dbiDeleteAlais已经可以从session访问了。
记得session改变后再存盘。

我对bde的结构和tsession.tdatabase的联系还没有完全搞清楚,
只是觉得有很多事情都有很多解决的办法。

有那位把他们搞懂了的,希望不吝赐教。

//___________________________________________________
// 封网中... :(
// 逛一逛... :)
 
曹大虾说对了,在 TSession 下有这么几个方法:

TSession.AddAlias
TSession.AddStandardAlias
TSession.DeleteAlias
TSession.ModifyAlias

详见Delphi的帮助文件, 都有简单的举例。下面是一个Paradox的实例:

Procedure TForm1.Button1Click(Sender: TObject);
begin
with Session1 do
begin
ConfigMode := cmSession;
try
AddStandardAlias('MyNewAlias', 'C:/Temp', 'PARADOX');
finally
ConfigMode := cmAll;
end;
end;
 
接受答案了.
 
顶部