列出表名 SELECT MSysObjects.Name, MSysObjects.TypeFROM MSysObjectsWHERE (((MSysObjects.Name) Not Like "msys*") AND ((MSysObjects.Type)=1));
var I: Integer; begin for I := 0 to 记录数-1 do Memo1.Lines.Values[Chr(I)] := ADODATASET1.FieldValues['表名']
學習~ 好像跟sql server 中差不多吧,也是存在一個系統表裡
我记得好象只有一句代码,而且我用的是ADOQuery.
var strs :TStrings; begin strs := TStringList.Create; ADOConnection1.GetTableNames(strs); ListBox1.Items := strs; end;
procedure TADOConnection.GetTableNames(List: TStrings; SystemTables: Boolean); var TypeField, NameField: TField; TableType: string; DataSet: TADODataSet; begin CheckActive; DataSet := TADODataSet.Create(nil); try OpenSchema(siTables, EmptyParam, EmptyParam, DataSet); TypeField := DataSet.FieldByName('TABLE_TYPE'); { do not localize } NameField := DataSet.FieldByName('TABLE_NAME'); { do not localize } List.BeginUpdate; try List.Clear; while not DataSet.EOF do begin TableType := TypeField.AsString; if (TableType = 'TABLE') or (TableType = 'VIEW') or { do not localize } (SystemTables and (TableType = 'SYSTEM TABLE')) then { do not localize } List.Add(NameField.AsString); DataSet.Next; end; finally List.EndUpdate; end; finally DataSet.Free; end; end; 第二个参数是否列出系统表. 代码看楼上的
SELECT MSysObjects.Name, MSysObjects.TypeFROM MSysObjectsWHERE (((MSysObjects.Name) Not Like "msys*") AND ((MSysObjects.Type)=1));
I: Integer;
begin
for I := 0 to 记录数-1 do
Memo1.Lines.Values[Chr(I)] := ADODATASET1.FieldValues['表名']
好像跟sql server 中差不多吧,也是存在一個系統表裡
strs :TStrings;
begin
strs := TStringList.Create;
ADOConnection1.GetTableNames(strs);
ListBox1.Items := strs;
end;
SystemTables: Boolean);
var
TypeField,
NameField: TField;
TableType: string;
DataSet: TADODataSet;
begin
CheckActive;
DataSet := TADODataSet.Create(nil);
try
OpenSchema(siTables, EmptyParam, EmptyParam, DataSet);
TypeField := DataSet.FieldByName('TABLE_TYPE'); { do not localize }
NameField := DataSet.FieldByName('TABLE_NAME'); { do not localize }
List.BeginUpdate;
try
List.Clear;
while not DataSet.EOF do
begin
TableType := TypeField.AsString;
if (TableType = 'TABLE') or (TableType = 'VIEW') or { do not localize }
(SystemTables and (TableType = 'SYSTEM TABLE')) then { do not localize }
List.Add(NameField.AsString);
DataSet.Next;
end;
finally
List.EndUpdate;
end;
finally
DataSet.Free;
end;
end;
第二个参数是否列出系统表.
代码看楼上的