Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Как проверить существование таблицы?


Автор: RNS 8.5.2004, 14:23
Подскажите, как можно проверить наличие таблицы в Delphi. Использую BDE.

Автор: x77 8.5.2004, 15:09
RNS,

Код

uses
 DbTables;

...

function TableExists (DatabaseName, TableName: string): boolean;
var
 slTables: TStrings;
begin
 Result := FALSE;
 slTables := TStringList.Create;
 try
   Session.GetTableNames(DatabaseName, '',True, False, slTables);
   slTables.Text := AnsiUpperCase (slTables.Text);
   Result := (slTables.IndexOf (AnsiUpperCase (TableName)) <> -1);
 finally
   slTables.Free;
 end;
end;
...


код не тестил, но логика, думаю, понятна.

Автор: RNS 9.5.2004, 01:48
Спасибо.

Автор: x77 9.5.2004, 02:09
RNS, не за что, удачи.

Автор: Albinos_x 28.5.2004, 23:54
Можно также просто проверять наличие файла

FileExists(FileName):boolean

Функция возвращает true , если файл существует.

Автор: _hunter 29.5.2004, 11:42
Albinos_x , а при чем тут файл?

Автор: Albinos_x 29.5.2004, 15:52
Ссори, наверно не так понял вопрос adv/idontnow.gif

Автор: Maverick 31.5.2004, 12:58
Да не.... Если бы, например, DBF или Paradox использовать, то вполне можно и существование файла проверить по пути.... А вот в удаленных системах, конечно, не прокатит....

Автор: Pakshin A. S. 31.5.2004, 13:56
Изврат (мой или не мой, не помню, но использую) biggrin.gif :
Есть Table с подключением к базе даных, но Active = False:
Код

Table1.TableName:='SomeTable';
if not Table1. TableExists {Или что-то в этом духе, наизусть не помню}
 then
  ShowMessage('Таблицу украли!' + #10 + #13 + 'Сволочи, верните!");
// цензура
                                                                                          // позволяет?

hehe.gif

Автор: _hunter 31.5.2004, 19:33
просто Table1.Exists smile.gif
( мог бы и в справке глянуть wink.gif )

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)