微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题在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选项卡上)
  给它们添加适当的属性,使它们如

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”文件(

2),该文件中有五个表,双击任何一个就会自动打开。致于对数据库的添加、删除等操作,adotable控件和table控件差不多,这里就不说了,有兴趣的读者可以自己试试(以上程序已在Delphi 5.0中调试通过和在没有安装Delphi及BDE的电脑上运行成功)。