Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.21;
Скачать: CL | DM;

Вниз

Динамическое создание БД   Найти похожие ветки 

 
iont   (2003-07-25 04:23) [0]

Можно ли и как создать базу данных во время выполнения приложения, используя обхекты ADO?

Заранее благодарен


 
edit_box ©   (2003-07-25 04:44) [1]

вобщем можно.
У объектов DataSourse и Table есть много методов. Например Create.
Так вот, если использовать их и немного SQL, то можно.
(По крайней мере для MSSQL Server)


 
iont   (2003-07-25 05:27) [2]

ДатаСорс вообще не юзаю, а напрямую, через TAdoDataSet посылаю запрос и вывожу результаты в обычный ListView.

В общем, сейчас я использую dBase через мост ADO<->OLE DB<->ODBC.

Конечно всё тормозит, но создание БД сводится к заданию папки на диске где будут хранится таблицы.

Из родных OLE DB провайдеров, кроме Jet, ничего нет (ну не будут юзеры держать SQL сервер для одной моей проги). Да и, собственно, Access мне вполне подходит. Но, динамическое создание базы данных абсолютно критично.

Только вот как и кому послать запрос, если для открытия сеанса связи надо указать на существующий файл с базой данных?


 
iont   (2003-07-25 16:28) [3]

Ну так что, никто не знает или нельзя такого сделать?


 
iont   (2003-07-25 17:17) [4]

Копание в MSDN привело к следующему:

procedure CreateDatabase(DataSourcePath: string);
const
InitStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";
var
ADOX: Variant;
begin
ADOX := CreateOleObject("ADOX.Catalog");
try
ADOX.Create(InitStr + DataSourcePath);
except
on e: EOleException do
( "Can""t create database!") Копание в MSDN привело к следующему:

procedure CreateDatabase(DataSourcePath: string);
const
InitStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";
var
ADOX: Variant;
begin
ADOX := CreateOleObject("ADOX.Catalog");
try
ADOX.Create(InitStr + DataSourcePath);
except
on e: EOleException do
ShowMessage("Can""t create database!");
end;
end;

Всем спасибо за помощь...



Страницы: 1 вся ветка

Текущий архив: 2003.08.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
14-68497
Мг. Гад
2003-08-05 23:37
2003.08.21
Усех сосчитаю


3-68247
Pavel
2003-07-25 16:53
2003.08.21
как присвоить параметр в TADOQuery ?


1-68352
mOOx
2003-08-07 17:19
2003.08.21
Как получить ScreenShort программно...


1-68367
Li
2003-08-08 08:30
2003.08.21
ошибка Access Violation


14-68484
Vlad Oshin
2003-08-06 09:08
2003.08.21
о как бывает :)