![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как программно получить список таблиц в BD [D5, D6, dBase, FoxPro, Paradox]
Kolyan © (2002-11-20 14:02:00)Как программно получить список таблиц в BD? Можно ли для этого использовать какой-нить запрос? (у меня используются ADOQuery)
Kolyan (2002-11-22 11:09:00) [1]Всем большое спасибо за помощь! Порпобую - расскажу :))
Kuusiniemi (2002-11-20 16:35:00) [2]Ну и либо использовать TADOConnection, либо по образцу действовать, ежели Connection неохота использовать.
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;
Kuusiniemi (2002-11-20 16:27:00) [3]Эээ... я имел в виду BDE, виноват, ADOQuery увидел поздно. :)
3JIA9I CyKA (2002-11-20 15:26:00) [4]2Kuusiniemi
>>TSession.GetTableNames
А где это в ADO?
Kuusiniemi (2002-11-20 15:23:00) [5]TSession.GetTableNames
asafr (2002-11-20 14:39:00) [6]слабо
3JIA9I CyKA (2002-11-20 14:33:00) [7]2asafr
А Вам не слабо проделать такое с Paradox?
asafr (2002-11-20 14:25:00) [8]Обращайся к системной таблице, где прописаны названия таблиц БД.
3JIA9I CyKA (2002-11-20 14:22:00) [9]А движок какой?