这样在遍历数据库中的表名?
我在用ADOConnectiong进行本地数据库连接,如何获取ADOTABLE中的所有表名?
谢谢了!
问题点数:50、回复次数:5Top
1 楼chechy(www.qdocuments.net)回复于 2002-04-13 09:48:09 得分 10
procedure TForm1.Button1Click(Sender: TObject);
var
SL: TStrings;
index: Integer;
begin
SL := TStringList.Create;
try
ADOConnection1.GetTableNames(SL, False);
for index := 0 to (SL.Count - 1) do begin
Table1.Insert;
Table1.FieldByName('Name').AsString := SL[index];
if ADOTable1.Active then ADOTable1.Close;
ADOTable1.TableName := SL[index];
ADOTable1.Open;
Table1.FieldByName('Records').AsInteger := ADOTable1.RecordCount;
Table1.Post;
end;
finally
SL.Free;
ADOTable1.Close;
end;
end;Top
2 楼yuanjunjing(danny)回复于 2002-04-13 10:26:02 得分 10
select name as tablename from sysobjects where type='U'
你的连接缺省是哪个数据库,查出来的就是这个数据库中的所有用户表Top
3 楼yk1028()回复于 2002-04-13 10:32:29 得分 10
ADOConnection1.GetTableNames (xx,false)行不行?//查帮助Top
4 楼Rabbit_Lap()回复于 2002-04-13 10:33:15 得分 10
同意楼上两的说法,如果你用的是DataBase链接数据库的话,也可用GetTableNames()涵数!Top
5 楼yangkunjie(杨七郎)(dephi--c#)回复于 2002-04-13 10:39:45 得分 10
其实也就是两种方法:第一从数据库角度出发,从系统表sysobjects中查询连接的数据库的所有表;第二从adoconnection中的gettablename()函数出发,其实它也是第一种方法的延伸,但是比较好用。Top




