MaterStudiorum.ru - домашняя страничка студента.
Минимум рекламы - максимум информации.


Авиация и космонавтика
Административное право
Арбитражный процесс
Архитектура
Астрология
Астрономия
Банковское дело
Безопасность жизнедеятельности
Биографии
Биология
Биология и химия
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
Валютные отношения
Ветеринария
Военная кафедра
География
Геодезия
Геология
Геополитика
Государство и право
Гражданское право и процесс
Делопроизводство
Деньги и кредит
Естествознание
Журналистика
Зоология
Издательское дело и полиграфия
Инвестиции
Иностранный язык
Информатика
Информатика, программирование
Исторические личности
История
История техники
Кибернетика
Коммуникации и связь
Компьютерные науки
Косметология
Краткое содержание произведений
Криминалистика
Криминология
Криптология
Кулинария
Культура и искусство
Культурология
Литература и русский язык
Литература(зарубежная)
Логика
Логистика
Маркетинг
Математика
Медицина, здоровье
Медицинские науки
Международное публичное право
Международное частное право
Международные отношения
Менеджмент
Металлургия
Москвоведение
Музыка
Муниципальное право
Налоги, налогообложение
Наука и техника
Начертательная геометрия
Новейшая история, политология
Оккультизм и уфология
Остальные рефераты
Педагогика
Полиграфия
Политология
Право
Право, юриспруденция
Предпринимательство
Промышленность, производство
Психология
Психология, педагогика
Радиоэлектроника
Разное
Реклама
Религия и мифология
Риторика
Сексология
Социология
Статистика
Страхование
Строительные науки
Строительство
Схемотехника
Таможенная система
Теория государства и права
Теория организации
Теплотехника
Технология
Товароведение
Транспорт
Трудовое право
Туризм
Уголовное право и процесс
Управление
Управленческие науки
Физика
Физкультура и спорт
Философия
Финансовые науки
Финансы
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
Экология
Экономика
Экономико-математическое моделирование
Экономическая география
Экономическая теория
Эргономика
Этика
Юриспруденция
Языковедение
Языкознание, филология
    Начало -> Информатика, программирование -> Простые ODBC классы без использования MFC

Название:Простые ODBC классы без использования MFC
Просмотров:58
Раздел:Информатика, программирование
Ссылка:Скачать(5 KB)
Описание:Мне пришлось написать довольно много приложений связанных с базами данных. Большинство из них было небольшими и использовали MFC класс CRecordset. Зависимость от MFC меня не всегда устраивала и тогда я засел за создание собственного класса.

Университетская электронная библиотека.
www.infoliolib.info

Часть полного текста документа:

Простые ODBC классы без использования MFC
    Мне пришлось написать довольно много приложений связанных с базами данных. Большинство из них было небольшими и использовали MFC класс CRecordset. Зависимость от MFC меня не всегда устраивала и тогда я засел за создание собственного класса. Таким образом появился набор, состоящий из нескольких классов, обеспечивающий необходимые возможности для работы с ODBC драйвером.
    На самом деле эти классы не претендуют на что-то "совершенное" и "мощное", однако они могут очень даже пригодиться для тех кто захочет работать с драйвером ODBC напрямую через API функции.
    В файлах ODBC.h и ODBC.cpp содержится три класса CODBCCnx, CODBCQuery и CODBCFatQuery. Основным из них является CODBCCnx, который коннектится к DBMS, а так же осуществляет все необходимые действия по обработке запросов. CODBCQuery и CODBCFatQuery являются зарезервированными, и я планирую с их помощью расширить возможности основного класса. Класс CODBCCnx
    CODBCCnx содержит три функции Connect(), Disconnect() и IsOk(). Функция Connect() позволяет связаться с драйвером DSN или используя сетевое имя компьютера.
    //связываемся с DBMS через DSN, "foodsn"
    CODBCCnx dsn();
    dsn.Connect("foodsn","username","password");
    //Замечание: CODBCCnx dsn("foodsn",username","password"); идентично предыдущей строке
    //проверяем успешность соединения
    if(!dsn.IsOk()){
    //успешное соединение с базой
    }
    else{
    //ошибка при соединении
    }
    //другой способ осуществления связи с базой данны, используя сетевое имя компьютера
    CODBCCnx name("SQL Server","CompName","username","password");
    //опять проверяем успешность соединения
    if(!name.IsOk()){
    //успешное соединение с базой
    }
    else{
    //ошибка при соединении
    }
    Итак, мы соединились с базой данных, теперь давайте попробуем завершить сеанс связи. Для этого нам пригодится функция Disconnect(). В параметрах этой функции можно задавать различные параметры. Например, если транзакции находятся в активном состоянии, то с помощь этих параметров можно вернуть их в исходное состояние, либо подождать их завершения. Если вызвать функцию Disconnect, без параметров, то все транзакции вернутся в исходное состояние.
    //завершаем сеанс связи (dsn)
    dsn.Disconnect(); //возвращаем незавершённые транзакции в предыдущее состояние
    //Замечание: dsn.Disconnect(SQL_ROLLBACK) тоже самое, что и предыдущая строка
    //завершаем сеанс связи с базой "name"
    name.Disconnect(SQL_COMMIT); //завершаем все незавершённые транзакции
    Класс CODBCQuery
    Итак, мы рассмотрели основные действия для общения с базой данных. Но есть ещё один момент. Не полохо было бы работать с объектом, созданным ранее, через указатели, то есть сделать его доступным из других классов. Для этого был создан класс CODBCQuery. CODBCQuery не может использоваться как самостоятельный объект, он постоянно привязан к основному классу:
    //Устанавливаем соединение, используя dsn
    CODBCCnx *pDsn = new CODBCCnx("foodsn", "username", "password");
    CODBCQuery qry1, qry2;
    if(!pDsn->IsOk())
    {
    //успешный коннект!! теперь дадим в доступ данный сеанс связи :)
    pDsn->Connect(qry1.h_qstmt);
    pDsn->Connect(qry2.h_qstmt);
    }
    else{
    //ошибка
    }
    //так же эту процедуру можно совешнить за один шаг.
    CODBCQuery qry(new CODBCCnx("foodsn", "username", "password"), true);
    //либо мы можем брать pDsn и передавать его в связку новых объектов
    CODBCQuery qry2(pDsn), qry3(pDsn,false);
    //либо можно заставить класс CODBCQuery самостоятельно коннектиться
    CODBCQuery qry4("SQL Server", "CompName", "username", "password");
    //используя DSN
    CODBCQuery qry5(NULL, "foodsn", "username", "password");
    Заключительная заметка: существует глобальная функция SQLSuccess(). ............




Нет комментариев.



Оставить комментарий:

Ваше Имя:
Email:
Антибот:  
Ваш комментарий:  
 
     

Вечно с вами © MaterStudiorum.ru