delphi 資料庫之不用資料來源 以access為例(其他未試過)

來源:互聯網
上載者:User

在我做好學生管理系統時,發現要使用本軟體必須設定資料庫的資料來源。於是我就想弄個脫離資料來源的版本。

構造思想:

650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131228/22345a634-0.jpg" title="datafile.jpg" />

在con1的connectionstring有連結資料庫檔案作為資料來源的做法,那麼我們可以用資料庫檔案配置資料來源。

   於是百度了一下Data Source = 資料來源路徑。而student資料來源在註冊表中註冊過,student資料來源名稱等價於路徑。

思路:

   第一步:馬上想到要獲得資料庫所在的絕對路徑。

   第二步:代碼編寫ConnectionString,Provider要寫完整資料提供者的驅動名稱(如

Provider=Microsoft.Jet.OleDb.4.0ACCESS資料引擎)

),而Data Source寫為絕對路徑。


技術關鍵:

   1.獲得程式所在目錄,構造絕對路徑:

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

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

步驟:

一:有這麼一個介面

650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131228/2234591315-1.jpg" title="form.jpg" />

二、 先修改con1的屬性

650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131228/2234595593-2.jpg" title="connect.jpg" />


修改adoquery的屬性

650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131228/2234592c4-3.jpg" title="query.jpg" />

   在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


本文出自 “lilin9105” 部落格,請務必保留此出處http://7071976.blog.51cto.com/7061976/1220029

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.