• Paranoid - курс по анонимности и безопасности в сети от команды codeby. Защита персональных данных, анонимность в сети интернет, настройка виртуальных машин, безопасная передача данных, анти форензика и еще много всего полезного. Подробнее ...

  • Мобильный клиент нашего форума для Android гаджетов доступен в Google Play Market по этой ссылке. Клиент можно скачать с нашего форума по этой ссылке. Последняя версия МК в нашем телеграм канале вот здесь

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

04.09.2006
2 566
3
#2
Про 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/
 
Вверх Снизу