Главная страница
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.02 c
1-68384
СергейК
2003-08-07 11:19
2003.08.21
Разрыв страницы в Excel


3-68158
aleman
2003-07-29 13:14
2003.08.21
Как из скрипта заставить перекомпилиться пакет


3-68203
paxer
2003-07-28 10:24
2003.08.21
Можно ли использовать UDF в Yaffil Embedded? Как это сделать?


1-68354
Vulko
2003-08-09 03:54
2003.08.21
Как получить адрес temp директории в винде?


7-68561
_ALEXey_
2003-06-06 09:19
2003.08.21
Информация по раскладкам клавиатуры