在我做好学生管理系统时,发现要使用本软件必须配置数据库的数据源。于是我就想弄个脱离数据源的版本。

构造思想:

在con1的connectionstring有链接数据库文件作为数据源的做法,那么我们可以用数据库文件配置数据源。

   于是百度了一下Data Source = 数据源路径。而student数据源在注册表中注册过,student数据源名称等价于路径。

思路:

   第一步:马上想到要获得数据库所在的绝对路径。

   第二步:代码编写ConnectionString,Provider要写完整数据提供者的驱动名称(如

Provider=Microsoft.Jet.OleDb.4.0(ACCESS数据引擎)

),而Data Source写为绝对路径。

技术关键:

   1.获得程序所在目录,构造绝对路径:

sDBPath = extractFilepath(application.ExeName)+'dataname.mdb';

   2.con1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + sDBPath +';';

步骤:

一:有这么一个界面

二、 先修改con1的属性

修改adoquery的属性

   在form2添加onActivate事件(窗口激活事件)代码如下,  

procedure TForm2.FormActivate(Sender: TObject); var  sDBPath : string;begin  sDBPath := extractFilepath(application.ExeName) + 'students.mdb';  ADOQuery1.Active := false;  con1.Connected := false;  ADOQuery1.SQL.Clear;  ADOQuery1.SQL.Add('select * from admins'); //这句看窗口刚刚建立是否要数据库而定要写不写。  //User ID=Admin;数据库有用户名的相应的加上  //填写connectionstring  con1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + sDBPath +';';  con1.Connected := true;  ADOQuery1.Active := true;end;

这样就完成数据库脱离数据源的配置。

样例代码