procedure TForm1.Button1Click(Sender: TObject);
var
ap:TStringList; {字符串列表变量}
answer:Integer;
strDir : string;
begin
ap:=TStringlist.Create;
Session.GetAliasNames(ap); {取得别名列表}
if (ap.IndexOf('MachineAdmin')=-1) then {判断别名是否存在}
begin
{ answer:=Application.MessageBox('别名Cntssamp不存在,现在创建吗?','BDE信息窗口',mb_OKCancel);
if answer=IDCANCEL then
begin
ap.Free; Exit;
end;
}
strDir := GetCurrentDir;
Session.AddStandardAlias('MachineAdmin',strDir,'Paradox');
Session.SaveConfigFile; {BDE配置文件存盘}
ap.Clear; {取得别名Cngzsamp中的所有表格名称列表}
end ;
ap.free; {释放变量ap}
end;
procedure TForm1.Button2Click(Sender: TObject);
var
ap:TStringList; {字符串列表变量}
answer:Integer;
begin
ap:=TStringlist.Create;
Session.GetAliasNames(ap); {取得别名列表}
if (ap.IndexOf('Cntssamp')=-1) then {判断别名是否存在} begin
answer:=Application.MessageBox('别名Cntssamp不存在,现在创建吗?','BDE信息窗口',mb_OKCancel); {增加一个名为Cngzsamp的数据库别名}
if answer=IDCANCEL then
begin
ap.Free; Exit;
end;
try
with ap do
begin
Add('SERVER NAME=IB_SERVER:/PATH/DATABASE.GDB');
Add('USER NAME=SYSDBA');
end;
Session.AddAlias('aMyAlias', 'MSSQL', ap);
finally
ap.Free;
end;
Session.AddStandardAlias('Cntssamp','c:/www','Paradox');
Session.SaveConfigFile; {BDE配置文件存盘} end ;
ap.Clear; {取得别名Cngzsamp中的所有表格名称列表}
Session.GetTableNames('Cntssamp','',False,False,ap);
if (ap.IndexOf('TSK')=-1) then {判断表格是否存在}
begin
answer:=Application.MessageBox( '别名Cntssamp中不存在表格TSK,现在创建吗?','表格信息窗口',mb_OKCancel);
if answer=IDCANCEL then
begin
ap.Free;
Exit;
end;
with table1 do
begin
Active:=false;
DatabaseName:='Cntssamp'; {数据库别名}
TableName:='TSK'; {表格名}
TableType:=ttParadox; {数据库类型}
with FieldDefs do
begin {增加字段} Clear;
Add('SH',ftString,30,False); {书号 String(30)}
Add('SM',ftString,30,False); {书名 String(30)}
Add('CBS',ftString,20,False); {出版社 String(20)}
Add('CBRQ',ftDate,0,False); {出版日期 Date}
Add('YS',ftInteger,0,False); {页数 Integer}
end;
with IndexDefs do
begin {增加索引}
Clear; {按书号字段建立主索引}
Add('SHSY','SH',[ixPrimary,ixUnique]);
end;
CreateTable; {创建表格}
end;
end ;
}
ap.free; {释放变量ap}
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Button1Click(Sender);
end;
上面是我自己的,
下面是人家的,未经验证
procedure set_Alias(db_Alias,db_path:string);
var
AParams: TStringList;
Dir: string;
begin
if not Session.IsAlias(db_Alias) then//不存在建立
begin
Session.AddStandardAlias
(db_Alias,db_path,'Paradox');
Session.SaveConfigFile; {BDE配置文件存盘}
//
end
else
begin
try
AParams := TStringList.Create;
Session.GetAliasParams(db_Alias,AParams);
Dir := Copy(AParams.Strings[0],6,255);//获得路径
if uppercase(dir)<>uppercase(db_path) then//判断是否同
begin
AParams.Clear;
AParams.Add('PATH=' +db_path );
Session.ModifyAlias(db_Alias,AParams);
Session.SaveConfigFile;
end;
finally
AParams.Free;
end;
end;
end;
procedure addAcessAlias(newalias,data,user,password:string);export//增加一个ACcess别名(其中用到odbc5.06控件)
begin
odbcform:=Todbcform.Create(application);
newalias:='dsn='+newalias;
data:='dbq='+data;
user:='uid='+user;
password:='pwd='+password;
odbcform.OEAdministrator1.Driver:='Microsoft Access Driver (*.mdb)';
odbcform.OEAdministrator1.Attributes.Clear;
odbcform.OEAdministrator1.Attributes.Add(newalias);
odbcform.OEAdministrator1.Attributes.Add(data);
odbcform.OEAdministrator1.Attributes.Add(user);
odbcform.OEAdministrator1.Attributes.Add(password);
odbcform.OEAdministrator1.Add;
odbcform.Release;
end;