起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 828|回复: 2

如何获取数据库中的所有表

[复制链接]
发表于 2007-9-4 11:49:58 | 显示全部楼层 |阅读模式
此方法是用TConnection控件实现,但他获取的是物理数据库中的表名及字段名。(此作法得先配置一下connection1的连接)
var
i : integer;
field : array of TFieldRec;        
begin
if ListBox1.Items = nil then exit;                                  //如何ListBox为空 ,就不做操作
Connection1.Meta.GetTableNames(ListBox1.Items,False);                         //将获取的表名放入ListBox
field := Connection1.Meta.GetFieldList(ListBox1.Items[ListBox1.itemindex]);                                      //先获取ListBox1的当前选中索引,得到表名,接着获取表的字段。
for i := low(field) to high(field) do                                     //得到第一个字段和最后一个字段。
    begin
      ListBox2.Items.Add(field.Name);                                  //将字段名赋给ListBox2
    end;
end;
回复

使用道具 举报

 楼主| 发表于 2007-9-4 11:57:09 | 显示全部楼层

如何获取建模下的所有表

下方是获取建模下的所有表,通过BizSys.BizSystem.GetObjectList方法得到,代码如下:
var
  lBizURL: TBizURL;
  lO: IObjectInfoList;
  i: Integer;
begin
  Memo1.Clear;
  lBizURL := TBizURL.Create;
  lBizURL.URL := 'Biz:\LZ\SJK.Database';
  lO := BizSys.BizSystem.GetObjectList(lBizURL);         //通过GetObjectList方法返回 lBizURL下的表信息
  for i:=0 to lO.Count-1 do
    Memo1.Lines.Add(lO.Id+lO.DisplayName);         //用IObjectInfoList获取表的显示名称/ID
  lBizURL.Free;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-4 13:33:46 | 显示全部楼层

方法二

var
  lList: TStrings;
  lBizURL: TBizURL;
  i: Integer;
begin
  Memo1.Clear;
  lBizURL := TBizURL.Create;
  lBizURL.URL := 'Biz:\LZ\SJK.Database';
  lList := TStringList.Create;
  FileSys.FileSystem.SearchFileBySpecificExpr(lBizURL.FileName, '*.Table', lList);                //获取所有表
//  FileSys.FileSystem.GetFileList(lBizURL.FileName, lList);
  for i:=0 to lList.Count-1 do
  begin
    if not SysUtils.SameText(FileSys.FileUtils.GetFileExt(lList), '.Table') then Continue;     //如果扩展名不为.Tabel则Continue
    Memo1.Lines.Add(FileSys.FileUtils.GetFileNameNoExt(lList));                                //获取表的ID
    Memo1.Lines.Add(FileSys.FileSystem.FileGetDisplayName(lList));                             //获取表的名称
  end;
  lList.Free;
end;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-23 02:02 , Processed in 0.037991 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表