在我做好學生管理系統時,發現要使用本軟件必須配置數據庫的數據源。於是我就想弄個脫離數據源的版 本。
構造思想:
在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
出處http://7071976.blog.51cto.com/7061976/1220029