![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как создать базу данных используя KOLEdb?
Vitalon © (2003-09-07 00:44:00)Речь идет не о создании таблицы в существующей базе (к оператору CREATE TABLE претензий нет - все работает) а именно новый файл типа FileName.mdb:
QR.Text:='CREATE DATABASE ' + GetStartDir+ 'FileName.mdb';
QR.Execute;
- не работает. Или, может, есть какие-то другие средства для этого?
savva (2003-09-08 11:10:00) [1]забыл сказать - к KOLOleDB это никакого отношения не имеет...
savva (2003-09-08 11:07:00) [2]смотри на UBPFD http://delphibase.endimus.com/?action=viewfunc&topic=baseaccess&id=10340
правда я с того времени ее усовершенствовал..
function CreateDatabase(DatabaseName:String;Access2000Format:boolean=false):boolean;
var
DBEngine, Workspace: Variant;
const
dbLangGeneral = ';LANGID=0x0409;CP=1252;COUNTRY=0';
dbVersion30 = 32;
dbVersion40 = 64;
begin
result:=false;
try
try
DBEngine := CreateOleObject('DAO.DBEngine.36');
except
try {For DAO 3.5}
DBEngine := CreateOleObject('DAO.DBEngine.35');
except
raise;
end;
end;
Workspace := DBEngine.Workspaces[0];
try
if Access2000Format then
Workspace.CreateDatabase(DatabaseName, dbLangGeneral, dbVersion40)
else
Workspace.CreateDatabase(DatabaseName, dbLangGeneral, dbVersion30);
except on e0:EOleException do
ShowMessage(e0.Message);
end;
except on e1:EOleException do
ShowMessage(e1.Message);
end;
result:=true;
end;
пример использования:
procedure TForm1.Button1Click(Sender: PObj);
begin
CoInitialize(nil);
CreateDatabase('Test.mdb',true);
CoUninitialize;
end;
не забудь написать
uses
ActiveX,KOLComObj;
Кладов (2003-09-07 07:06:00) [3]Создать файл на диске (например, из ресурса) и поименовать.