Главная страница
    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.04 c
3-83984
*pavel
2003-05-30 10:47
2003.06.26
Документация на Oracle (от А до Я)


7-84771
Anonimus
2003-04-17 10:45
2003.06.26
Перезагрузка......


8-84464
JeskelA
2003-03-07 09:42
2003.06.26
Захват изображения рабочего стола


14-84637
Soft
2003-06-04 13:37
2003.06.26
Hurd против Linux, о Windows и говорить не стоит:)


1-84431
dfg
2003-06-09 21:21
2003.06.26
Можно ли вывести содержимое Tchart на предосмотр перед печатью?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский