Форум: "Базы";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
ВнизКак используя компоненты ADO создать базу данныз Access? Найти похожие ветки
← →
first_aid (2003-06-04 08:56) [0]Собственно, вопрос в заголовке.
Заранее всем спасибо.
← →
Мое имя (клоны суксь) (2003-06-04 09:23) [1]вроде как ADOX надо смотреть
← →
viman (2003-06-04 09:36) [2]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;
← →
viman (2003-06-04 09:37) [3]А таблицы SQL запросами создать можно
← →
PooH (2003-06-04 09:37) [4]импортируй в проект библиотеку типов от ADOX(обычно \Program Files\Common Files\System\ado\msadox.dll), а далее:
uses ADOX_TLB;
Catalog := (CreateComObject(CLASS_Catalog) as _Catalog);
if Catalog = nil then raise EDMException.Create("Невозможно создать объект ADOX");
Catalog.Create(CONNECT_STR + FileName);
← →
first_aid (2003-06-04 10:21) [5]2 viman
Создал, все работает, а какого формата база создается: Access97 или Access2000.
Да и еще, не подскажешь где можно посмотреть синтаксис SQL, для работы с базами Access.
← →
Мое имя (клоны суксь) (2003-06-04 12:00) [6]
> Как используя компоненты ADO
> viman (04.06.03 09:36)
> "DAO.DBEngine.36",
ыыыыы
слышал звон...
← →
sniknik (2003-06-04 13:48) [7]first_aid © (04.06.03 10:21)
> Создал, все работает, а какого формата база создается: Access97 или Access2000.
function TDMod.CreateMDBBase(BaseName: string): boolean;
var AdoEngine: Variant;
begin
result:= false;
if Length(BaseName)=0 then begin
DoIfError("Не определено имя базы");
exit;
end;
try
if Copy(UpperCase(BaseName), Length(BaseName)-3, 4) <> ".MDB" then BaseName:= BaseName + ".MDB";
AdoEngine:= CreateOleObject("ADOX.Catalog");
AdoEngine.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Trim(BaseName)+";Jet OLEDB:Engine Type=5;");
AdoEngine.ActiveConnection.Close;
AdoEngine:= Null;
result:= true;
except
on E: Exception do DoIfError(E.Message);
end;
end;
Engine Type= 5 2000-й 4-97й
← →
sniknik (2003-06-04 13:51) [8]> Да и еще, не подскажешь где можно посмотреть синтаксис SQL, для работы с базами Access
найди справку JETSQL40.CHM (на машине с установленным Офисом 2000/XP)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.025 c