请问那位高手知道怎样写代码从ACCESS数据库和SQL SERVER数据库中调出该数据库中所有表名和根据该表调出所有的字段名称!请高手帮帮忙,在下很急!在线等待,分不够还可再加!

解决方案 »

  1.   

    sqlserver :select name from sysobjects where type='u'
            access调表名我不太清楚 
    字段 两个都是一样的  以 ado为例子假设连接已经好了
    var tt:string;
    adoquery.close;
    adoquery.sql.clear;
    adoquery1.add('select * from 表名');
    tt:=adoquery1.fieldname.text;//可能不是这个多试试 有field的就试试
      

  2.   

    取表名:ADOConnection1.GetTableNames
    取字段名称:ADOConnection1.GetFieldNames
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    adoConnection1.GetTableNames(self.ListBox1.Items);
    end;
    放一个adoConnection1和一个ListBox1.Items设置好数据源就行了
      

  4.   

    不好意思,再加一个ListBox就行了.
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    adoConnection1.GetTableNames(self.ListBox1.Items);
    end;
    procedure TForm1.ListBox1Click(Sender: TObject);
    begin
    ADOConnection1.GetFieldNames(self.ListBox1.Items.Strings[self.ListBox1.Itemindex],self.ListBox2.Items);
    end;
      

  5.   

    access数据库也一样,只是驱动不同了.
      

  6.   

    哈!上面几位高手谢谢你们!可是我却做不出来那种效果!我是想把一个数据库的表以及该表下的所有字段都动态在放在一个DBGrid里面,最后保存在一个ACCESS数据中!请问一下可以实现吗?该怎么做呀!
      

  7.   

    adoconnection1.GetTableNames(listbox1.Items,false);    etname := listbox1.items[ListBox1.Itemindex];
        adoconnection1.GetFieldNames(etname, listbox2.Items);
      

  8.   

    谢谢上面的高手!这里还有一个问题就是怎么在ACCESS数据中用程序创建一个表,表名,字段,及长度都根据程序所设来定!