Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

работа с БД


novichek ©   (2010-06-10 12:16:00) 

сильно не пинайте, только учусь, сразу возникло несколько вопросов:

- вроде бы самый универсальный способ использовать acces базу mdf.
  как понял по умолчанию движок для доступа к ней уже есть в винде и без установки офиса и acces?

 серверная часть так же присутствует, или работа на уровне файлодоступа? хотя есть ли хранимые процедуры то по идее работа должна вестисть через серверную часть, или для этого нужна дополнительная установка чего-то?

- если, допустим использовать сервер FireBird, IB  доступ через ADO бебехи из dgGO будут по производительности медленнее чем специально заточенные?


novichek   (2010-06-10 15:24:00) [1]

procedure CreateMyTables(DatabaseName: AnsiString);
var
  Catalog: _Catalog;
  Table: _Table;
  Column: _Column;
  FKKey: _Key;

begin
  Catalog := CoCatalog.Create;
  try
     Catalog.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + DatabaseName + ';');
     Catalog.Set_ActiveConnection('Provider=Microsoft.Jet.OLEDB.4.0;' +
                                  'Data Source=' + DatabaseName + ';Persist Security Info=False');

     Table := CoTable.Create;
     try
       Table.Name := 'test';
       Table.ParentCatalog := Catalog;
       Column := CoColumn.Create;
       try
          with Column do begin
               ParentCatalog := Catalog;
               Name := 'kod';
               Type_ := adInteger;
          end;
          Table.Columns.Append(Column, 0, 0);
        finally
          Column := nil;
        end;

        with Table.Columns do begin
          Append('text', adVarWChar, 50);
        end;

        Catalog.Tables.Append(Table);
     finally
        Table := nil;
     end;

     FKKey := CoKey.Create;
     try
         with FKKey do begin
            Name := 'PKkod';
            Type_ := adKeyPrimary;
            Columns.Append('kod', adInteger, 0);
         end;
         Catalog.Tables['test'].Keys.Append(FKKey, 0, EmptyParam, '', '');
     finally
         FKKey := nil;
     end;

  finally
     Catalog := nil;

  end;

end;


12   (2010-06-10 15:13:00) [2]

код какой?


novichek   (2010-06-10 13:47:00) [3]

через ADOX_TLB, или я то-то не догоняю? ))


12   (2010-06-10 13:14:00) [4]


> ормально создавал базу\таблицы


> где есть тот же Query работающий с ADO ?

а как создавал?


novichek   (2010-06-10 12:32:00) [5]

спасибо большое за ответы!
напрямую с ADO пробывал, нормально создавал базу\таблицы и т.п.
а вот выборку как делать если не через dgGO ?
где есть тот же Query работающий с ADO ?


Медвежонок Пятачок   (2010-06-10 12:31:00) [6]

рямой доступ к COM-интерфейсам ADO, минуя компоненты dbGo пока не осилю..


Ежели осилишь, тогда
http://www.ibprovider.com/eng/index.html

каждая версия содержит три подверсии. v1,v2,v3

через делфийское адо можно использовать первую версию. но в ней есть плавающие глюки с блобами.

их нет в старших версиях, но они недоступны через делфийское адо.


novichek   (2010-06-10 12:28:00) [7]

прямой доступ к COM-интерфейсам ADO, минуя компоненты dbGo пока не осилю..


Медвежонок Пятачок   (2010-06-10 12:28:00) [8]

а ADO ->  mdb ?

а это нормально. это хорошо


Anatoly Podgoretsky   (2010-06-10 12:28:00) [9]

> novichek  (10.06.2010 12:16:00)  [0]

1. Не обязательно, что есть, зависит от версии ОС в общем случае.

2. Это файловая СУБД, работающая по принципам клиент-серверной

3. это если вообще будут работать, надо использовать специально заточенные


novichek   (2010-06-10 12:27:00) [10]

понял насчет FB..
а ADO ->  mdb ?


Amoeba_   (2010-06-10 12:26:00) [11]


> доступ через ADO бебехи из dgGO

Не надо лишних прокладок.


Amoeba_   (2010-06-10 12:25:00) [12]


> по умолчанию движок для доступа к ней уже есть в винде и
> без установки офиса и acces?

Да, начиная с Win98.


> есть ли хранимые процедуры

Нет, но их отчасти заменяют запросы, хранящиеся в базе.


> или для этого нужна дополнительная установка чего-то

Нет.


> если, допустим использовать сервер FireBird, IB  доступ
> через ADO бебехи из dgGO будут по производительности медленнее
> чем специально заточенные?

Да.


Медвежонок Пятачок   (2010-06-10 12:22:00) [13]

Delphi + FB + ADO  = нерабочий вариант программы (скорее всего)

По причине отсутствия адекватных оледб провайдеров. Хотя возможно удастся найти удачный одбц драйвер


Наверх

Титульная страница Поиск, карта сайта Написать письмо