动态配置access的数据源(50分)

  • 主题发起人 主题发起人 xiang330381
  • 开始时间 开始时间
X

xiang330381

Unregistered / Unconfirmed
GUEST, unregistred user!
在程序中采用的是query控件,后台是数据库是access数据库。在打包时,要动态配置access的数据源,那位好心的大虾给帮个忙,怎么实现程序在另外一台机子上的运行?能在系统刚加载时就配置吗?
 
这个嘛比较简单,用的是ado吗?
看看我是怎么设置的
ADOConnection1.ConnectionString := 'File Name='+ExtractFileDir(Paramstr(0))+'/DataLink.udl';
这个datalink.udl就是放在exe同目录下的,里面的内容是
[oledb]
;
Everything after this line is an OLE DB initstring
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=./Data/xxx.mdb
//其实这个*.udl文件可以直接新建一个空白txt文件,然后改后缀为udl,
//双击这个udl就可以看见配置的窗体了
明白什么意思了吧,表示access的数据库在exe同目录中的data文件夹里,名字叫xxx.mdb
这样直接拷贝过去运行就可以了,根本不需要配置数据源什么的
 
program StudentMIS;
uses
Forms,
SysUtils,
FormMain in 'FormMain.pas' {frmMain},
FormDepartment in 'FormDepartment.pas' {frmDepartment},
FormClass in 'FormClass.pas' {frmClass},
FormQuery in 'FormQuery.pas' {frmQuery},
FormPunish in 'FormPunish.pas' {frmPunish},
FormStudent in 'FormStudent.pas' {frmStudent},
FormReward in 'FormReward.pas' {frmReward},
FormChange in 'FormChange.pas' {frmChange};
{$R *.res}
function SQLConfigDataSource(
hwndParent: Integer;
fRequest: LongInt;
lpszDriverString: string;
lpszAttributes: string
): LongBool;
stdcall;
external 'ODBCCP32.DLL';
const
ODBC_ADD_DSN = 1;
ODBC_CONFIG_DSN = 2;
ODBC_REMOVE_DSN = 3;
ODBC_ADD_SYS_DSN = 4;
ODBC_CONFIG_SYS_DSN = 5;
ODBC_REMOVE_SYS_DSN = 6;
begin
Application.Initialize;
SQLConfigDataSource(0, ODBC_ADD_SYS_DSN, // 添加系统数据源
'Microsoft Access Driver (*.mdb)', // 指定Access数据源
'DSN=StudentMIS;
DBQ=' // 数据源名称为 StudentMIS
+ ExtractFilePath(Application.ExeName) // 动态指定数据库文件路径
+ 'StudentMIS.MDB;
'
+ 'FIL=MS Access;
'
+ 'MaxBufferSize=512;
'
+ 'PageTimeout=5;
'
+ 'Description=学生信息管理'
);
Application.CreateForm(TfrmMain, frmMain);
Application.CreateForm(TfrmDepartment, frmDepartment);
Application.CreateForm(TfrmClass, frmClass);
Application.CreateForm(TfrmQuery, frmQuery);
Application.CreateForm(TfrmPunish, frmPunish);
Application.CreateForm(TfrmStudent, frmStudent);
Application.CreateForm(TfrmReward, frmReward);
Application.CreateForm(TfrmChange, frmChange);
Application.Run;
end.

动态配置ODBC
 
能。首先你要在ODBC数据源中配好你的数据源名和指向的mdb文件,用户名密码等信息。然后用installshield.在它的左边树中展开‘system configuration’,选中它下面的‘ODBC Resources’,在中间的列表中选中打开‘Drivers and DSNs’在'Mircosoft access Driver(*.mdb)',打开DSNs---〉勾选中你已经在ODBC中设置数据源名。---〉在右边的表格中,[red]注意设置DBQ项:把它的值设置为:[INSTALLDIR]mdb文件名。[/red]如我的设为:[INSTALLDIR]test.mdb.这样。就能动态指向你的安装目录下的test.mdb文件。并在安装过程中,自动帮你把数据源名注册到odbc中去,不需要你手动去设
 
很感谢大家。我是新手。
 
哦,能让我补充一句,怎样把那个access的登陆界面给去掉啊?[:)]
 

Similar threads

后退
顶部