Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C/C++ Базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.09.2011, 14:18   #1
t_e_m_a
Новичок
Джуниор
 
Регистрация: 11.09.2011
Сообщений: 3
По умолчанию Как программно создать БД

Добрый день, уважаемые форумчане! Пишу небольшую программку с поддержкой БД. Столкнулся с вот такой вот проблемой: не получается создать программно БД (.mdb). Пробовал двумя способами.
1-й способ (на форумах люди утверждают что он безупречно работает на Borland c++ 6.0, у меня стоит CodeGear C++ 2010 и вылетает ошибка)
код:
Код:
String bd = ExtractFilePath(Application->ExeName)+"db.mdb";
try
 {
	Variant acs = CreateOleObject("Access.Application");
	acs.OleFunction("NewCurrentDatabase", bd.c_str());
	acs.OleFunction("Quit");
	acs = Unassigned;
	ADOConnection1->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+bd+";Persist Security Info=True";
	ADOConnection1->Connected=true;
	ShowMessage("СуперФульно");
  }
  catch (Exception *E)
 {
   ShowMessage("Упс не создалась");
 }
Вылетает что то такое Invalid address specified to RtlSizeHeap( 00300000, 015922C8 ).
НЕ знаю что с ним делать.

2-ой способ:
Код:
Variant acs = CreateOleObject("Access.Application");
acs.OleFunction("NewCurrentDatabase", name);
acs.OleFunction("Quit");
acs = Unassigned;
потом пытаюсь соедениться с БД
Код:
ADOConnection1->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+bd+";Persist Security Info=True";
ADOConnection1->Connected=true;
и снова вылетает ошибка!
Если не пытаюсь соединиться, то файл создается нормально. А вот если еще хочу работать с БД,то вылетает ошибка
"Не распознаваемый формат БД"
Может кто знает как можно сделать? или я что-то не так делаю?
Заранее спасибо за помощь!!
t_e_m_a вне форума Ответить с цитированием
Старый 11.09.2011, 22:17   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,120
По умолчанию

t_e_m_a

Столкнулся с вот такой вот проблемой: не получается создать программно БД (.mdb)

Правильный способ создать access-базу данных - использовать интерфейс ADOX - расширение ADO.

Подробнее - гоогле adox create database


"Не распознаваемый формат БД"

эта ошибка может говорить о том, ято неправильно указана строка соединения.

go to connectionstrings.com
Rififi вне форума Ответить с цитированием
Старый 12.09.2011, 00:42   #3
t_e_m_a
Новичок
Джуниор
 
Регистрация: 11.09.2011
Сообщений: 3
По умолчанию

Цитата:
эта ошибка может говорить о том, ято неправильно указана строка соединения.
Но дело в том что когда делаю соединение с БД созданной через Acces все нормально работает, и меняю только имя файла.
t_e_m_a вне форума Ответить с цитированием
Старый 13.09.2011, 02:45   #4
t_e_m_a
Новичок
Джуниор
 
Регистрация: 11.09.2011
Сообщений: 3
По умолчанию

Ну же народ, кто-то может подсказать?
t_e_m_a вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как программно создать форму? viter.alex Microsoft Office Word 10 08.09.2015 09:00
Как создать программно базу данных? cargo29 БД в Delphi 5 20.01.2011 09:14
Как программно создать форму на С Ytpyfqrf Общие вопросы C/C++ 4 02.06.2010 14:08
Как Программно создать раздел E:\ KWN, lnc Общие вопросы Delphi 18 27.08.2009 13:37
Как программно создать *.exe файл ? SG13 Общие вопросы Delphi 8 20.06.2008 15:46