• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Ado, Создание базы

  • Автор темы Normann
  • Дата начала
N

Normann

Есть ли у ADO средство для создания файла базы (mdb)?
 
E

European

Про ADO не скажу, но вот используя DAO можно. Вот парочка примеров на Дельфи
Код:
procedure CreateMSAccessDatabase(filename: string); 
var DAO: Variant; 
i: integer; 
const Engines: array[0..2] of string = ('DAO.DBEngine.36', 'DAO.DBEngine.35', 'DAO.DBEngine'); 

function CheckClass(OLEClassName: string): boolean; 
var Res: HResult; 
begin 
Result := CoCreateInstance(ProgIDToClassID(OLEClassName), nil, CLSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER, IDispatch, Res) = S_OK; 
end; 
begin 
for i := 0 to 2 do 
if CheckClass(Engines[i]) then 
begin 
DAO := CreateOleObject(Engines[i]); 
DAO.Workspaces[0].CreateDatabase(filename, ';LANGID=0x0409;CP=1252;COUNTRY=0', 32); 
exit;	  end; 
raise Exception.Create('DAO engine could not be initialized'); 
end;
Код:
procedure CreateMSAccessDB(filename: string); 
var 
DBEngine, Workspace: Variant; 
const 
{Important to use the following constant as is} 
dbLangGeneral = ''; 
LANGID = 0x0409; 
CP = 1252; 
COUNTRY = '0'; 
dbVersion30 = 32; 
begin 
DBEngine := CreateOleObject('DAO.DBEngine'); 
{DBEngine := CreateOleObject('DAO.DBEngine.35'); For DAO 3.5} 
Workspace := DBEngine.Workspaces[0]; 
try 
Workspace.CreateDatabase(filename, dbLangGeneral, dbVersion30); 
except 
on EOleException do 
ShowMessage('Database already exists'); 
end; 
end;

Код стырен из "Delphi Russian Knowledge Base from Vit" пару лет назад скачанной с
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!