|
|
|
En_t_end |
|
||||||||||
Эксперт Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 2 Всего: 20 |
В связи с постоянно добавляющимися темами по данному вопросу решено было зафиксировать одну тему.
MFC позволяет работать с ODBC через класс-интерфейс CDatabase и работь с записями, в частности делать выборку, используя CRecordset. 1. Открытие источника данных(в данном случае рассмотрим открытие источника данных Аксесса, поддержка которого стандартно реализованна наиболее полно) а.) Можно открыть источник, используя строку сформированную драйвером ODBC ранее и находящуюся в его хранилище. ЗЫ доступ в это хранилище можно получить физ. путем, то есть пуск->настройка->панель управления->администрирование->источники данных(ODBC). Или же программно, используя соответсвенное АПИ. Чтобы выйти на полный список функций для поиска в MSDN можно набрать SQLDataSources - функция, возврающая список всех добавленных источников данных(для получения всего списка необходимо использовать рекурсивно либо в цикле). В любом случае, для открытия источника вам потребуется сформировать строку такого формата:
б.) Второй способ... это открытие источника путем полного формирования строки.
Универсальная функция...
2. Связываем с базой данных специальный обьект от класса CRecordes. Это нужно, чтобы удобнее управлять структурой базы и получать результаты выборки.
3. Простейший пример выборки всех записей из предполагаемой таблицы Test:
4. Выполнение любого другого запроса кроме выборки нужно делать через CDatabase::ExecuteSql(SqlString); Естественно чтобы использовать эти классы нужно подключить afxdb.h Это сообщение отредактировал(а) En_t_end - 9.1.2007, 20:35 |
||||||||||
|
|||||||||||
Coocky |
|
|||
GUI гуру Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
считаю самой безглючной CDatabase::Open(); Строка пути имеет вариант NULL. Тогда у вас при выполнении этой функции появится диалоговое окно с настройками. Окно простое и затруднений не вызовет при использовании. Все остальные данные, после открытия базы, зaполняются в поля CDatabase. Класс CRecordset имеет в себе поля для сортировки и фильтрации-m_strFilter и m_strSort После заполнения этих полей не забывайте использовать метод CRecordset::Requery(); Который пересчитывает(обновляет) выборку, согласно новым условиям. Это сообщение отредактировал(а) En_t_end - 9.1.2007, 20:37 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
Coocky |
|
|||
GUI гуру Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Некоторые команды(синтаксис) для работы с БД может отличаться от синтаксиса драйвера.
Поэтому, если что-то не работает, см. описание к ДРАЙВЕРУ ОДБС! Это сообщение отредактировал(а) Coocky - 26.7.2005, 16:06 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |