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

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

Версия Microsoft Jet OLE DB [D7, MS Access]


Elshad ©   (2002-12-25 14:53:00) 

Уважаемые Мастера, Подскажите как мне можно програмно определить версию Microsoft Jet OLE DB т.е. какая версия 4.0 или 3.51?
Заранее благодарен.


Elshad   (2002-12-27 15:50:00) [1]

Огромное спасибо за идею <sniknik>!!!
Прямо перед функцией PromptDataSource наткнулся на GetProviderNames- что и надо было...


sniknik   (2002-12-27 15:22:00) [2]

исходник функции PromptDataSource получен элементарным выдиранием из модуля ADODB и мыслей никаких не надо, разберись как работает получиш результат.

function PromptDataSource(ParentHandle: THandle; InitialString: WideString): WideString;
var
DataInit: IDataInitialize;
DBPrompt: IDBPromptInitialize;
DataSource: IUnknown;
InitStr: PWideChar;
begin
Result := InitialString;
DataInit := CreateComObject(CLSID_DataLinks) as IDataInitialize;
if InitialString <> "" then
DataInit.GetDataSource(nil, CLSCTX_INPROC_SERVER,
PWideChar(InitialString), IUnknown, DataSource);
DBPrompt := CreateComObject(CLSID_DataLinks) as IDBPromptInitialize;
if Succeeded(DBPrompt.PromptDataSource(nil, ParentHandle,
DBPROMPTOPTIONS_PROPERTYSHEET, 0, nil, nil, IUnknown, DataSource)) then
begin
InitStr := nil;
DataInit.GetInitializationString(DataSource, True, InitStr);
Result := InitStr;
end;
end;


Elshad   (2002-12-27 14:40:00) [3]

Ну же мастера...! Не ужели не у кого нет не какой мысли-:(((


Elshad   (2002-12-26 14:32:00) [4]

Проблема в том что, мне нужно написать прогу каторая может работать и с версией 4.0 и с 3.51. По этому не могу конкретно указать версию в TADOConnection.Provider. Прога должна сперва выяснить какая версия стоит в данной машине, а потом уже указать Provider как "Microsoft.Jet.OLEDB.4.0" или "Microsoft.Jet.OLEDB.3.51".
Было бы великолепно узнать откуда Data Link берет список провайдеров в OLE DB Provider(s).


zx   (2002-12-25 16:31:00) [5]

не понял?
ты же сам его указываешь!
TADOConnection.Provider


Наверх

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