Помощник
Здравствуйте, гость ( Вход | Регистрация )
|
|
25:04:2007, 07:18
|
|
Новенький ![]() Группа: Программист Сообщений: 5 Регистрация: 25:04:2007 Пользователь №: 10 458 Репутация: 0
|
Ребят столкнулся с проблемой. Нужно написать простенькое консольное приложение для связи с БД (Paradox, Accces, Oracle любую на выбор мне лучше Paradox) и получение в консоли результата запроса затем на основании полученного отправляеться динамический SQL запрос на обновление записей таблицы, с запросами разобрался вопрос в том как подключиться к БД через ODBC именно сам код . Язык приложения обязательно С или С++ пишу на них всего 3 недели поэтому если можно попроще. Мне б только сам код подключения и какие заголовочные включать. Заранее благодарю. ЗЫ работу сдавать через 5 дней = (( PS. забыл добавить база данных локальная можно даже в каталоге с программой
|
|
Сообщение
#1
|
|
![]() |
|
|
25:04:2007, 08:27
|
|
Новенький ![]() Группа: Программист Сообщений: 62 Регистрация: 28:06:2006 Пользователь №: 5 086 Специализация: программист С++ Репутация: 2
|
#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. Но обычно это свойство устанавливается, чтобы не тыкать стопятдесяттысячный раз мышкой, выбирая один и тот же источник. |
|
Сообщение
#2
|
|
|
|
26:04:2007, 01:49
|
|
Новенький ![]() Группа: Программист Сообщений: 5 Регистрация: 25:04:2007 Пользователь №: 10 458 Репутация: 0
|
San Sanych огромное спасибо за ответ. Но теперь возникла новая проблема =(( , я писал вручную и использовал Borland C++ Compiler 5.5 но там нет заголовочного afxdb.h поставил Builder 6.0 там есть но проблема он в папке MFC а подключить его не могу то что в папке include подключаеться а во вложеных нет вообщем чайник я ещё тот но лабораторную делать надо ((.
Навыка написания в Билдере 1 день до этого писал только вручную и только простые програмки для консоли. Если можно объясни как подключить заголовочные файлы не из папки include для Билдера или если можно то как их добавить для компилятора мне с ним как то привычней. И второе я так понял что вместо выражения DSN=SourceDB в функции OpenEX нужно указать тип источника данных или просто путь к файлу базы с его именем типа С:\...\org.db или вообще просто имя DSN=org.db. |
|
Сообщение
#3
|
|
|
|
26:04:2007, 07:20
|
|
Божественный ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 816 Регистрация: 4:09:2006 Из: Минск Пользователь №: 6 316 Специализация: C++ Репутация: 31
|
|
|
Сообщение
#4
|
|
|
|
26:04:2007, 07:42
|
|
Новенький ![]() Группа: Программист Сообщений: 62 Регистрация: 28:06:2006 Пользователь №: 5 086 Специализация: программист С++ Репутация: 2
|
European полностью прав - мой пример из MS Visual Studio с включенной в проект библиотеки MFC и в Builder это не сработает
|
|
Сообщение
#5
|
|
|
|
26:04:2007, 12:43
|
|
Новенький ![]() Группа: Программист Сообщений: 5 Регистрация: 25:04:2007 Пользователь №: 10 458 Репутация: 0
|
Ребят спасибо большое но боюсь что Visual Studio за оставшееся время до сдачи лабораторной мне не осилить боьше время потрачу на разбор среды чем на написание программы. А можно ли установить соединение используя только библиотеки Борланд Компилера пусть не ODBC а что нибудь другое может BDE или ещё что. Мне суть соединения не столь важна скорость тоже объём данных для пересылки мизер главно чтоб было любое соединение.
|
|
Сообщение
#6
|
|
|
|
26:04:2007, 12:47
|
|
Божественный ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 816 Регистрация: 4:09:2006 Из: Минск Пользователь №: 6 316 Специализация: C++ Репутация: 31
|
Я же тебе ссылку дал, что не устраивает?
Сообщение отредактировал European - 26:04:2007, 12:47 |
|
Сообщение
#7
|
|
|
|
26:04:2007, 13:50
|
|
Новенький ![]() Группа: Программист Сообщений: 5 Регистрация: 25:04:2007 Пользователь №: 10 458 Репутация: 0
|
ТО European Спасибо за ответ. Не устраивает:
Билдер не подходит так как необходимо написать консольное приложение а в Билдере указанные компонеты добавляются в форму а можно ли их использовать для консоли и как я не знаю Visual Studio её отсутствие и полное неуменее с ней работать а учиться просто некогда до сдачи 4 дня по ссылке расписано конечно очень здорово но всё равно боюсь что вряд ли успею разобраться А использовать этот код для написания вручную не получается так как в Borland C++ Compiler 5.5 нет MFC и как её туда добавить не знаю А главное Так что если можно подскажи как сделать иначе ЗЫ: хотя с Visual Studio всётки попробую |
|
Сообщение
#8
|
|
|
|
26:04:2007, 14:04
|
|
Божественный ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 816 Регистрация: 4:09:2006 Из: Минск Пользователь №: 6 316 Специализация: C++ Репутация: 31
|
Цитата(кнопикс @ 26:04:2007, 16:50 ) Билдер не подходит так как необходимо написать консольное приложение а в Билдере указанные компоненты добавляются в форму а можно ли их использовать для консоли и как я не знаю Данные компоненты можно использовать и в консольном приложении, только создавай их динамически и инициализируй прямо в коде. Сообщение отредактировал European - 26:04:2007, 14:05 |
|
Сообщение
#9
|
|
|
|
26:04:2007, 15:15
|
|
============== ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 740 Регистрация: 11:01:2007 Пользователь №: 8 750 Специализация: specialist Репутация: 27
|
Цитата(European @ 26:04:2007, 17:04 ) только создавай их динамически и инициализируй прямо в коде. и не забывать освобождать память ... |
|
Сообщение
#10
|
|
|
|
26:04:2007, 23:47
|
|
Новенький ![]() Группа: Программист Сообщений: 5 Регистрация: 25:04:2007 Пользователь №: 10 458 Репутация: 0
|
[quote]
Ну спасибо Именно это я и имел ввиду когда просил попроще |
|
Сообщение
#11
|
|
|
|
27:04:2007, 08:15
|
|
Божественный ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 816 Регистрация: 4:09:2006 Из: Минск Пользователь №: 6 316 Специализация: C++ Репутация: 31
|
Для: кнопикс
Ну так заплати пару баксов и тебе все напишут... Самый простой вариант |
|
Сообщение
#12
|
|
|
|
27:04:2007, 08:23
|
|
============== ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 740 Регистрация: 11:01:2007 Пользователь №: 8 750 Специализация: specialist Репутация: 27
|
или купить готовое, тоже вариант не сложный
|
|
Сообщение
#13
|
|
![]() |
|
Текстовая версия | Сейчас: 17:05:2008 - 07:13 |