Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.026 c
14-84696
Soft
2003-06-03 18:49
2003.06.26
Это должен знать каждый


3-83957
Man
2003-06-04 14:03
2003.06.26
как научить датасет правильно различать типы полей


9-83838
=Venom=
2003-01-13 18:57
2003.06.26
Подгрузка большого количества спрайтов/тайлсов..... =(


1-84119
DJ Vano
2003-06-10 23:15
2003.06.26
Создание компонента в Run Time


1-84161
Aleksandr
2003-06-11 15:29
2003.06.26
Что надо сделать для





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский