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

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

Normann

Есть ли у ADO средство для создания файла базы (mdb)?
 
Про 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" пару лет назад скачанной с http://www.drkb.ru/
 
Большое спасибо, мужики.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab