Delphi 7中ADO控制元件開啟Access資料庫檔案
阿新 • • 發佈:2019-02-12
最近在學習delphi 7程式設計,儘管已經這門語言已經落寞了,但是作為新手,我目前覺得delphi難度比其他的小,可能與視覺化環境有關,尤其很多控制元件拖拖拖就可以了。以下理解可能有很多錯誤,希望高手指正,謝謝啦。
介面如下:
新增相關控制元件:
控制元件 | 屬性修改 | 修改後的內容 |
---|---|---|
ADOConnection1 | ConnectionString | |
ADOTable1 | Connection | ADOConnection1 |
DataSource1 | DataSet | ADOTable1 |
DBGird1 | DataSource | DataSource1 |
程式碼如下:
procedure TForm1.Button1Click(Sender: TObject);//“開啟”按鈕單擊事件
const//常量
dbadoconstr = 'Provider=%s;Data Source=%s;Persist Security Info=false';
//Provider=[驅動程式];Password=[密碼];Persist Security Info=True;User ID=[使用者名稱];Data Source=[資料來源別名]
//Persist Security Info屬性的意思是表示是否儲存安全資訊,其實可以簡單的理解為"ADO在資料庫連線成功後是否儲存密碼資訊",True表示儲存,False表示不儲存
dbprovider = 'Microsoft.Jet.OLEDB.4.0';//資料庫驅動的名稱
var
myaccess : string;//定義資料庫檔案路徑變數
begin
OpenDialog1.FileName := '*.mdb';//開啟檔案的名稱
if OpenDialog1.Execute then //如果檔案打步驟執行了,就返回True
begin
myaccess := OpenDialog1.FileName; //檔案路徑
Edit1.Text := myaccess;//在Edit1中顯示檔案路徑
ADOConnection1.Connected := False;
ADOConnection1.ConnectionString := Format(dbadoconstr,[dbprovider,myaccess]);
//上條語句為將格式化後的字串給ConnectionString,用於連線資料庫
ADOConnection1.Connected := True;
ADOConnection1.GetTableNames(ListBox1.Items);//獲得資料庫檔案中所有的表的名稱,賦值到listbox1.items中
end;
end;
procedure TForm1.ListBox1DblClick(Sender: TObject);//Listbox1中雙擊事件
begin
ADOTable1.Close;//表名查詢關閉
ADOTable1.TableName := ListBox1.Items.Strings[ListBox1.Itemindex];//將當前雙擊的表名賦值給ADOTable1的表名中。
ADOTable1.Open;//表名查詢開啟
end;