如何动态建立BDE,来连接MSACCESS数据库,(100分)

  • 主题发起人 主题发起人 ddt
  • 开始时间 开始时间
D

ddt

Unregistered / Unconfirmed
GUEST, unregistred user!
如何动态建立BDE,来连接MSACCESS数据库。我只能动态建立连接Paradoxt和dbase的BDE。

但MSACCESS的BDE老是不能动态的建立,不是该如何做。

我用的是MSACCESS 97版。BDE动态建立后如何与Table、Database等组件连接??
 
建议用ODBC,我用bde也老是有问题,不知为什么。
 
我用bde没有问题呀, 关键是你在建数据库的时候要同时建一个确省用户,
因为access允许用没有口令和用户名来打开数据库, 而BDE不允许

可以建alias, 也可以不建, 如果不建alias的话, 就要设置要BDE中的
native driver中msaccess的确省选项了.
 
agree with Iknow
 
放上TDataBase->双击->选择Drive Name->输入Name(Alias),按DEFAULT->关闭对话框
在窗体创建中加入
procedure TForm1.FormCreate(Sender: TObject);
begin
Database1.Params.Strings[0]:=ExtractFilePath(Application.ExeName)+'你的数据库文件名';
end;
动态创建DATABASE方法也一样。
 
我自己有答案了,要用到session

void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString tPath;

TStringList* MyList = new TStringList();
tPath= ExtractFileDir(Application->ExeName);

try
{
MyList->Add("DATABASE NAME=c://db1.mdb");
Session->AddAlias ("selfBDE","MSACCESS",MyList);
Session->Open();
Session->Active =true;

Database1->AliasName ="selfBDE";
Database1->DatabaseName ="sb";
Database1->LoginPrompt =false;
Database1->Connected =true;

Table1->DatabaseName="sb";
Table1->TableName ="table1";
Table1->Active =true;

Query1->DatabaseName ="sb";
Query1->DataSource =DataSource1;
}
catch(...)
{
Application->MessageBoxA ("数据库连接失败","error",MB_OK);
}
}
 
多人接受答案了。
 
后退
顶部