прошу помощи связь с базой данных через Odbc

  • Автор темы Автор темы Guest
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

Ребят столкнулся с проблемой. Нужно написать простенькое консольное приложение для связи с БД (Paradox, Accces, Oracle любую на выбор мне лучше Paradox) и получение в консоли результата запроса затем на основании полученного отправляеться динамический SQL запрос на обновление записей таблицы, с запросами разобрался вопрос в том как подключиться к БД через ODBC именно сам код . Язык приложения обязательно С или С++ пишу на них всего 3 недели поэтому если можно попроще. Мне б только сам код подключения и какие заголовочные включать. Заранее благодарю. ЗЫ работу сдавать через 5 дней = (( PS. забыл добавить база данных локальная можно даже в каталоге с программой
 
#include <afxdb.h> // MFC ODBC database classes

CDatabase db;

try
{
db.OpenEx("DSN=SourceDB;UID=userDB;PWD=megapassword",CDatabase::noOdbcDialog);
}
catch(CDBException* e )
{
// Обработчик ошибки.
e->Delete();
return FALSE;
}

Самое интересное здесь - это первая строка в функции OpenEx().
DSN - имя источника данных ODBC.
UID - имя пользователя, которому разрешен доступ к БД.
PWD - его пароль

Все остальные настройки находятся в самом источнике данных ODBC. Эти настройки отличаются для разных драйверов ODBC, поэтому надо смотреть на месте.

P.S. Кстати, второй параметр задает некоторые иногда полезные настройки, их можно посмотреть в MSDN или прямо в исходниках. У них понятные названия. Например noOdbcDialog - подавляет появление окна где можно выбрать источник данных ODBC. Но обычно это свойство устанавливается, чтобы не тыкать стопятдесяттысячный раз мышкой, выбирая один и тот же источник. :(
 
San Sanych огромное спасибо за ответ. Но теперь возникла новая проблема =(( , я писал вручную и использовал Borland C++ Compiler 5.5 но там нет заголовочного afxdb.h поставил Builder 6.0 там есть но проблема он в папке MFC а подключить его не могу то что в папке include подключаеться а во вложеных нет вообщем чайник я ещё тот но лабораторную делать надо ((.
Навыка написания в Билдере 1 день до этого писал только вручную и только простые програмки для консоли. Если можно объясни как подключить заголовочные файлы не из папки include для Билдера или если можно то как их добавить для компилятора мне с ним как то привычней. И второе я так понял что вместо выражения DSN=SourceDB в функции OpenEX нужно указать тип источника данных или просто путь к файлу базы с его именем типа С:\...\org.db или вообще просто имя DSN=org.db.
 
<!--QuoteBegin-кнопикс+26:04:2007, 04:49 -->
<span class="vbquote">(кнопикс @ 26:04:2007, 04:49 )</span><!--QuoteEBegin-->я писал вручную и использовал Borland C++ Compiler 5.5 но там нет заголовочного afxdb.h
[snapback]63495" rel="nofollow" target="_blank[/snapback]​
[/quote]
Приведенный выше пример предназначен для Visual Studio. Подробности
В Builder 6.0 можно использовать компоненты доступа к данным. Подробности
 
European полностью прав - мой пример из MS Visual Studio с включенной в проект библиотеки MFC и в Builder это не сработает :blink: . Сам Builder не пользовался и ничего сказать не могу, так что отсылаю по ссылке выше.
 
Ребят спасибо большое но боюсь что Visual Studio за оставшееся время до сдачи лабораторной мне не осилить боьше время потрачу на разбор среды чем на написание программы. А можно ли установить соединение используя только библиотеки Борланд Компилера пусть не ODBC а что нибудь другое может BDE или ещё что. Мне суть соединения не столь важна скорость тоже объём данных для пересылки мизер главно чтоб было любое соединение.
 
Я же тебе ссылку дал, что не устраивает?
 
ТО European Спасибо за ответ. Не устраивает:

Билдер не подходит так как необходимо написать консольное приложение а в Билдере указанные компонеты добавляются в форму а можно ли их использовать для консоли и как я не знаю

Visual Studio её отсутствие и полное неуменее с ней работать а учиться просто некогда до сдачи 4 дня по ссылке расписано конечно очень здорово но всё равно боюсь что вряд ли успею разобраться :) хотя всё равно завтра куплю да всё таки попробую

А использовать этот код для написания вручную не получается так как в Borland C++ Compiler 5.5 нет MFC и как её туда добавить не знаю

А главное :( Язык приложения обязательно С или С++ пишу на них всего 3 недели

Так что если можно подскажи как сделать иначе

ЗЫ: хотя с Visual Studio всётки попробую
 
<!--QuoteBegin-кнопикс+26:04:2007, 16:50 -->
<span class="vbquote">(кнопикс @ 26:04:2007, 16:50 )</span><!--QuoteEBegin-->Билдер не подходит так как необходимо написать консольное приложение а в Билдере указанные компоненты добавляются в форму а можно ли их использовать для консоли и как я не знаю
[snapback]63636" rel="nofollow" target="_blank[/snapback]​
[/quote]
Данные компоненты можно использовать и в консольном приложении, только создавай их динамически и инициализируй прямо в коде.
 
Для: кнопикс
Ну так заплати пару баксов и тебе все напишут... Самый простой вариант
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!