第一种 用ADOConnection组件 procedure TForm1.BitBtn1Click(Sender: TObject); begin ADOConnection1.GetTableNames(ListBox1.Items,false)//改为true则包括系统表 end;第二种 用SQL语句 SELECT name FROM sysobjects WHERE xtype = 'u'
楼主: 我用了DATASET获取了表名: strtempsql:='select table_name from all_tables where owner='''; strtempsql:=strtempsql+uppercase(edtUserName.Text)+''''; with adoQuery do begin SQL.Clear; SQL.Add(strtempsql); Open; end; DataSource.DataSet:=adoQuery; DataSet:=DataSource.DataSet; while not DataSet.Eof do begin lsbTablesName.Items.Add(dataset.Fields[0].text); dataset.Next; end;
combobox1.clear; ADOcheck.SQL.clear; ADOcheck.SQL.Add('select name from [sysdatabases] '); ADOcheck.open; repeat combobox1.item.add(ADOcheck.fields[0].tostring); combobox1.next; until ADOcheck.eof; [sysdatabases]是SQLSERVER2000中保存表名的表,在master里
第一种 用ADOConnection组件
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ADOConnection1.GetTableNames(ListBox1.Items,false)//改为true则包括系统表
end;第二种 用SQL语句
SELECT name FROM sysobjects WHERE xtype = 'u'
我在方案xxx中建立表AAA,但我用ADOConnection1.GetTableNames(ListBox1.Items,false)调出了很多表名,其中有视图
那位大虾帮忙解决一下
我用了DATASET获取了表名: strtempsql:='select table_name from all_tables where owner=''';
strtempsql:=strtempsql+uppercase(edtUserName.Text)+'''';
with adoQuery do
begin
SQL.Clear;
SQL.Add(strtempsql);
Open;
end;
DataSource.DataSet:=adoQuery;
DataSet:=DataSource.DataSet;
while not DataSet.Eof do
begin
lsbTablesName.Items.Add(dataset.Fields[0].text);
dataset.Next;
end;
ADOcheck.SQL.clear;
ADOcheck.SQL.Add('select name from [sysdatabases] ');
ADOcheck.open;
repeat
combobox1.item.add(ADOcheck.fields[0].tostring);
combobox1.next;
until ADOcheck.eof; [sysdatabases]是SQLSERVER2000中保存表名的表,在master里