delphi 数据库之不用数据源 以access为例(其他未试过)

2016-08-22 10:22:34来源:http://7071976.blog.51cto.com/7061976/1220029作者:lilin9105人点击


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

构造思想:

在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;

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

样例代码 http://pan.baidu.com/share/link?shareid=187085761&uk=2065228996


最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台