我在制作BDE数据库安装文件时,想将数据库文件与应用程序文件安装在同一目录[INSTALLDIR]下,以便在其他电脑上安装后即可使用,但却无法办到。请问该怎么办???非常感谢!!!
解决方案 »
- delphi 6如何将excel档案汇入到资料库中
- 如何通过修改注册表选择隐藏文件选项。。。
- 求一简单的SQL语句
- 各位朋友,我知道你们只关心技术,其实我也一样
- 关于版权,有经验的人进来说说体会,没有的进来坐坐!
- DLL里面怎么不能传出指针?
- 提示一下吧!哪个控件能实现像Winamp的打开文件目录那样的功能,仅选择程序目录,还能列出网上邻居?
- 初学者问题
- 数据模块的问题,高手请进!
- 请教ado编程高手,是将ado控件在设计程序时与数据库连接,还是在运行时定义.
- 在程序中打开ppt文件,怎样做到跟在文件上右键选择“显示”一样??
- Delphi中怎样开远程调试?(Remote Debug)只有20分了
参考一下在注册表吧。
HKEY_LOCAL_MACHIN\SOFTWARE\Borland\Database Engine.
HKEY_LOCAL_MACHIN\SOFTWARE\Borland\BLW32
程序在Form1的Create中设定数据源DSN,同时设置其他控件属性。其中,设定DSN数据源将用到注册表操作。
procedure TForm1.FormCreate(Sender: TObject);
var
registerTemp : TRegistry;
bData : array[ 0..0 ] of byte;
begin
//以下程序设置DSN数据源;
registerTemp := TRegistry.Create;
//建立一个Registry实例
with registerTemp do
begin
RootKey:=HKEY_LOCAL_MACHINE; //设置ROOT;
if OpenKey('Software\ODBC\ODBC.INI\ODBC Data Sources',True) then
begin
WriteString( 'MyAccess', 'Microsoft Access Driver (*.mdb)' ); //设定DSN为“MyAccess”;
end
else
begin
showmessage('增加ODBC数据源失败');
exit;
end;
CloseKey;
//找到或创建Software\ODBC\ODBC.INI
if OpenKey('Software\ODBC\ODBC.INI\MyAccess',True) then
begin
//定义数据库目录为:程序目录\data\database1.mdb
WriteString( 'DBQ',extractfilepath(application.exename)+'data\database1.mdb');
WriteString( 'Description','ODBC Express演示数据源' ); //数据源描述;
WriteString( 'Driver', 'C:\PWIN98\SYSTEM\odbcjt32.dll' ); //驱动程序DLL文件
WriteInteger( 'DriverId', 25 );
WriteString( 'FIL', 'Ms Access;' );
WriteInteger( 'SafeTransaction', 0 );
WriteString( 'UID', '' ); //用户名称
bData[0] := 0;
WriteBinaryData( 'Exclusive', bData, 1 );
WriteBinaryData( 'ReadOnly', bData, 1 );
end
else
begin
showmessage('增加ODBC数据源失败');
exit;
end;
希望安装好以后直接可以运行。
不要配置ODBC和BDE
有办法实现吗?
1 在你的自己电脑上开发的时候,把“数据库”放在你要在目标机上要安装的目录相同的目录,并设好BDE Alias,注意,是Alias
2 重新编译你的程序
3 用installsheild express 打包你的程序,要打包BDE
1、BDE的路径是在注册表中HKEY_LOCAL_MACHINE\SOFTWARE\BORLAND\BLW32的BLAPIPATH中写明的。
2、另外请参考HKEY_LOCALE_MACHINE\SOFTWARE\BORLAND\DATABASE ENGINE中键值。如果你不想把别名的参数程序中写死,你可以通过动态创建TSESSION和TDATABASE的方法,这方面的书还是很多的。