我想用BDE连接ACCESS数据库怎么连接呢,请给详细代码。(50分)

Z

zdj1355

Unregistered / Unconfirmed
GUEST, unregistred user!
我想用BDE连接ACCESS数据库怎么连接呢,请给详细代码。
 
设置ODBC数据源
1.启动32位ODBC(控制面板)
2.点添加(ADD)会让用户选区数据类型,和数据库,同时为之创建一个名称。
3.启动BDE Configuration Utility然后,选中Database页,然后选择OBJECT -->NEW输入数据别名。在其上点击右键选择Apply保存设置。
 并选中ODBC源ODBC DSN项,在下拉菜单中选择刚刚建立的ODBC名称即可。
至此配置别名完成。
使用时可以在窗体中回入TABLE后选择DATABASENAME为刚才建立的别名即可。
 
Delphi 6 下的BDE:
1、启动BDE Administrtor
2、[Object]-[New]
3、在New DataBase Alias 对话框中选择ACCESS的驱动程序
OK后,在Definition 下PATH中指明所要连接的数据库名称
4、保存
5、退出
 
procedure TdmINP.DataModuleCreate(Sender: TObject);
const
SysDatabaseName = 'yourDB.mdb';
OdbcName = YOURODBC'; // ODBC数据源名称
var
RegOdbc: TRegistry; //存取ODBC数据源
dbParam: string; //数据库Params参数
WinSystemPath: array[0..40] of Char;
begin
//*********** 判断数据库是否存在 ************************//
if not FileExists(CurrPath + SysDatabaseName) then
begin
Application.MessageBox(PChar(Format('数据库文件%s在目录%s中不存在, 数据库没有打开!', [SysDatabaseName, CurrPath])), '系统告警', MB_ICONWARNING);
Application.Terminate;
end;
//*********** 判断ODBC数据源是否存在 ************************//
//建立ODBC
RegOdbc:= TRegistry.Create;
try
RegOdbc.RootKey:= HKEY_LOCAL_MACHINE;
RegOdbc.OpenKey('Software/ODBC/ODBC.INI/ODBC Data Sources', True);
RegOdbc.WriteString(OdbcName, 'Microsoft Access Driver (*.mdb)');
RegOdbc.CloseKey;
RegOdbc.OpenKey('Software/ODBC/ODBC.INI/' + OdbcName, True);
GetSystemDirectory(WinSystemPath, 40);
RegOdbc.WriteString('DBQ', CurrPath + SysDatabaseName);
RegOdbc.WriteString('Driver', WinSystemPath + '/odbcjt32.dll');
RegOdbc.WriteString('FIL', 'MS Access;');
RegOdbc.WriteString('UID', '');
RegOdbc.WriteInteger('DriverId', $19);
RegOdbc.WriteInteger('SafeTransactions', $0);
finally
RegOdbc.Free;
end;
//************** 打开ODBC数据源 *****************************//
dbParam:= 'ODBC DSN=' + OdbcName + #13#10 +
'USER NAME=' + #13#10 +
'PASSWORD=tfnet' + #13#10;
try
dbIP.DriverName:= 'Microsoft Access Driver (*.mdb)';
dbIP.Params.Text:= dbParam;
dbIP.Open;
except
on e: Exception do
begin
Application.MessageBox(PChar('数据库连接错误, 请检查数据库配置。'#13#10), '错误提示', MB_ICONERROR);
//Application.Terminate;
end;
end;
end;
 
多人接受答案了。
 
顶部