Главная страница
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.012 c
1-68318
Рубинштейн
2003-08-08 19:11
2003.08.21
Горизонтальная полоса прокрутки в TListbox


3-68201
M126
2003-07-28 12:08
2003.08.21
Редактирование таблицы запросом


3-68166
SPIRIT
2003-07-29 07:12
2003.08.21
Печать на принтере


14-68476
Карлсон
2003-08-06 00:39
2003.08.21
Перекодировка DVD


1-68256
Condor
2003-08-07 13:24
2003.08.21
Сохранение динамического массива в файл..