在Delphi中用ADD控件打开Access文件 吴国宇 2001年 43期 在Delphi数据库编程中,有时我们想避开BDE数据引擎,这样就可以减少非常大的额外开销。这时,我们就要用ADO控件了,(ADO控件是微软用来存取各种数据的高级接口技术,也叫OLE DB)。下面就是一个用ADO控件读取Access数据库的程序。   首先在窗体中加入以下控件:   button1,label1,label2,listbox1,edit1控件(它们在Standard选项卡上);   opendialog1控件(在Dialogs选项卡上)   datasource1控件(在Data Access选项卡上)   dbgrid1控件(在Data Controls选项卡上)   adoconnection1,adotable1控件(在ADO选项卡上)   给它们添加适当的属性,使它们如^43020504a^1所示。它们的要添加的属性如下:   button1:caption 属性:'打开';   label1:caption 属性:'Access文件';   label2:caption 属性:'请选择表';   edit1:text 属性:' ';(即空白)   opendialog1:filter属性:*.mdb|*.mdb;   dbgrid1:datasource 属性:datasource1;   datasource1:dataset 属性:adotable1;   adotable1:connection 属性:adoconnection1;   adoconnection1:loginprompt 属性:false;   添加属性后,我们就给事件添加程序代码,只要在button1的onclick事件和listbox1的ondblclick事件中添加程序即可,添加的程序如下:   button1的onclick事件:   procedure TForm1.Button1Click(Sender:TObject)   var   myaccess:string;   const   myStr1='Provider=%s;Data Provider=%s;Data Source=%s';   {给出接口参数}   myprovider='msdatashape.1';   mydataprovider='microsoft.jet.oledb.4.0';   begin   opendialog1.FileName:='*.mdb';   if opendialog1.Execute then   begin   myaccess:=opendialog1.FileName;   edit1.Text:=myaccess;   adoconnection1.Connected:=false;   adoconnection1.ConnectionString:=format(mystr1,   [myprovider,mydataprovider,myaccess]);   adoconnection1.Connected:=true;   adoconnection1.GetTableNames(listbox1.Items);   end;   end;   listbox1的ondblclick事件:   procedure TForm1.ListBox1DblClick(Sender:TObject)   begin   adotable1.Close;   adotable1.TableName:=listbox1.Items.Strings[listbox1.itemindex];   adotable1.Open;   end;   添加程序后运行,试着打开一个Access文件。比如我打开一个在E盘的“E:\My Documents\myaccess1.mdb”文件(^43020504b^2),该文件中有五个表,双击任何一个就会自动打开。致于对数据库的添加、删除等操作,adotable控件和table控件差不多,这里就不说了,有兴趣的读者可以自己试试(以上程序已在Delphi 5.0中调试通过和在没有安装Delphi及BDE的电脑上运行成功)。