代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var
   str1: string;
begin
  ADOConnection1.Close;
  if OpenDialog1.Execute then
  Edit1.Text:=OpenDialog1.FileName;
  str1:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+edit1.text+';Persist Security Info=False';
  ADOConnection1.ConnectionString:=str1;
  ADOConnection1.Open;
  ADOConnection1.GetTableNames(ComboBox1.Items,false);
end;procedure TForm1.ComBoBox1Click(Sender:TObject);
begin
  ADOTable1.Close;
  ADOTable1.Connection:=ADOConnection1;
  ADOTable1.TableName:=ComboBox1.text;
  ADOConnection1.GetFieldNames(ComboBox1.text,ComboBox3.Items);
  ADOTable1.active:=true;
  DataSource1.DataSet:=ADOTable1;
  DBGrid1.DataSource:=DataSource1;
end;数据库连接后,ComboBox1中可显示表名,但ComboBox3和DBGrid1不能显示字段名和内容啊
求教!!!!

解决方案 »

  1.   


    procedure TForm1.btn1Click(Sender: TObject);
    begin
      con1.GetTableNames(cbb1.Items,False);
    end;procedure TForm1.cbb1Click(Sender: TObject);
    begin
      tbl1.Close;
      tbl1.Connection :=con1;
      tbl1.TableName :=cbb1.Text;
      con1.GetFieldNames(cbb1.Text ,cbb2.Items );
      tbl1.Active :=True;
      ds1.DataSet :=tbl1;
      dbgrd1.DataSource :=ds1;
    end;
      

  2.   

    是没问题啊,但是ComboBox3不能显示字段名且DBGrid1不显示内容啊 
    你能显示吗
      

  3.   

    我现在写的东西里面有两个这样的连接,一个连接原始数据库,一个连接目标数据库,当初只有一个的时候是显示内容的,但增加了一个后就显示不了,是什么原因啊
    代码如下:procedure TForm1.Button1Click(Sender: TObject);// 连接原始数据库
    var
       str1: string;
    begin
      if OpenDialog1.Execute then
      Edit1.Text:=OpenDialog1.FileName;
      str1:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+edit1.text+';Persist Security Info=False';
      ADOConnection1.Close;
      ADOConnection1.ConnectionString:=str1;
      ADOConnection1.Open;
      ADOConnection1.GetTableNames(ComboBox1.Items);end;procedure TForm1.ComBoBox1Change(Sender:TObject);
    begin
      ADOTable1.Close;
      ADOTable1.Connection:=ADOConnection1;
      ADOTable1.TableName:=ComboBox1.text;
      ADOTable1.active:=true;
      DataSource1.DataSet:=ADOTable1;
      DBGrid1.DataSource:=DataSource1;
    end;procedure TForm1.Button2Click(Sender: TObject);// 连接目标数据库
    var
       str2: string;
    begin
      if Opendialog2.Execute then
      Edit2.Text:=OpenDialog2.FileName;
      str2:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+edit2.text+';Persist Security Info=False';
      ADOConnection2.Close;
      ADOConnection2.ConnectionString:=str2;
      ADOConnection2.Open();
      ADOConnection2.GetTableNames(ComboBox2.Items);end;procedure TForm1.ComBoBox2Change(Sender:TObject);
    begin
      ADOTable2.Close;
      ADOTable2.Connection:=ADOConnection2;
      ADOTable2.TableName:=ComboBox2.text;
      ADOTable2.active:=true;
      DataSource2.DataSet:=ADOTable2;
      DBGrid2.DataSource:=DataSource2;
    end;