Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  152

•  TDictionary Custom Sort  3 333

•  Fast Watermark Sources  3 084

•  3D Designer  4 842

•  Sik Screen Capture  3 336

•  Patch Maker  3 549

•  Айболит (remote control)  3 654

•  ListBox Drag & Drop  3 012

•  Доска для игры Реверси  81 666

•  Графические эффекты  3 939

•  Рисование по маске  3 244

•  Перетаскивание изображений  2 624

•  Canvas Drawing  2 747

•  Рисование Луны  2 575

•  Поворот изображения  2 184

•  Рисование стержней  2 168

•  Paint on Shape  1 568

•  Генератор кроссвордов  2 233

•  Головоломка Paletto  1 767

•  Теорема Монжа об окружностях  2 227

•  Пазл Numbrix  1 685

•  Заборы и коммивояжеры  2 056

•  Игра HIP  1 282

•  Игра Go (Го)  1 230

•  Симулятор лифта  1 474

•  Программа укладки плитки  1 216

•  Генератор лабиринта  1 547

•  Проверка числового ввода  1 364

•  HEX View  1 497

•  Физический маятник  1 358

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Найти все таблицы базы данных при помощи ADO



Оформил: DeeCo

//How to retrieve all database tables with ADO 

unit dbTables;

 interface

 uses ADODb;

 type
   TTableType = (ttTable, ttView, ttSynonym, ttSystemTable, ttAccessTable);

 type
   TTableTypes = set of TTableType;

 type
   TTableItem = record
     ItemName: string;
     ItemType: string;
   end;

 type
   TTableItems = array of TTableItem;

 function addFilter(string1, string2: string): string;
 function ADODbTables(ADOConnection: TADOConnection; types: TTableTypes): TTableItems;

 implementation

 function addFilter(string1, string2: string): string;
 begin
   if string1 <> '' then
     Result := string1 + ' or ' + string2
   else
     Result := string2;
 end;

 function ADODbTables(ADOConnection: TADOConnection; types: TTableTypes): TTableItems;
 var
   ADODataSet: TADODataSet;
   i: integer;
 begin
   ADODataSet := TADODataSet.Create(nil);
   ADODataSet.Connection := ADOConnection;
   ADOConnection.OpenSchema(siTables, EmptyParam, EmptyParam, ADODataSet);

   if (ttTable in types) then
     ADODataSet.Filter := addFilter(ADODataSet.Filter, '(TABLE_TYPE = ''TABLE'')');

   if (ttView in types) then
     ADODataSet.Filter := addFilter(ADODataSet.Filter, '(TABLE_TYPE = ''VIEW'')');

   if (ttSynonym in types) then
     ADODataSet.Filter := addFilter(ADODataSet.Filter, '(TABLE_TYPE = ''SYNONYM'')');

   if (ttSystemTable in types) then
     ADODataSet.Filter := addFilter(ADODataSet.Filter, '(TABLE_TYPE = ''SYSTEM TABLE'')');

   if (ttAccessTable in types) then
     ADODataSet.Filter := addFilter(ADODataSet.Filter, '(TABLE_TYPE = ''ACCESS TABLE'')');

   ADODataSet.Filtered := True;

   SetLength(Result, ADODataSet.RecordCount);

   i := 0;
   with ADODataSet do
   begin
     First;
     while not EOF do
     begin
       with Result[i] do
       begin
         ItemName := FieldByName('TABLE_NAME').AsString;
         ItemType := FieldByName('TABLE_TYPE').AsString;
       end;
       Inc(i);
       Next;
     end;
   end;

   ADODataSet.Free;
 end;

 end.

 { 
Example: create a new project and add a TADOConnection (ADOConnection1), 
a TButton (Button1) and a TMemo (Memo1); assign a ConnectionString to the 
TADOConnection component and set "ADOConnection1.Active := True" 
}

 procedure TForm1.Button1Click(Sender: TObject);
 var
   output: ttableitems;
   i: integer;
 begin
   output := ADODbTables(ADOConnection1, [ttTable, ttView, ttSynonym]);
   //  output := ADODbTables(ADOConnection1, [ttSystemTable, ttAccessTable]); 
  for i := Low(output) to High(output) do
   begin
     Memo1.Lines.Add(output[i].ItemName + '---' + output[i].ItemType);
   end;
   output := nil;
 end;




Похожие по теме исходники

Экспорт баз данных в Excel

База данных "Книжный магазин"

База данных Видеофильмов

База данных "Школа"

 

База данных без BDE

База данных студентов

Фильтрование данных

Pevrica (сжатие данных)

 

Примеры работы с БД

Примеры оформления DBGrid

Пример использования DBGrid

База предприятий и менеджеров 0.99

 

Консольное DOS приложение

Работа с принтером

Локализация приложений

Создание таблиц в Paradox

 



Copyright © 2004-2024 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте