Главная страница
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.019 c
14-68554
Igorek
2003-08-04 16:57
2003.08.21
Вечный вопрос программиста -


1-68368
Akvilon
2003-08-08 01:22
2003.08.21
TListView.Column(s) - как?


4-68593
testthewest
2003-06-20 13:39
2003.08.21
Как прочитать текст из чужого окна


3-68178
Alik$
2003-07-28 22:21
2003.08.21
ASCII как можно в таблице базы подсчитать контрольные суммы


14-68480
ZeroDivide
2003-08-06 09:00
2003.08.21
С начала я бросил курить...