Классы CDatabase и CDaoDatabase

   
На этом шаге мы рассмотрим классы CDatabase и CDaoDatabase.

   
Обычно класс CDatabase служит для установки соединения с ODBC-источником данных типа SQL Server, a
CDaoDatabase - с локальным источником данных, например СУБД Access.

   
Установка соединения проходит в два этапа:

  • сначала создается объект базы данных, а
  • затем вызывается его функция-член Ореn().

   
В CDatabase::Ореn() передается DSN или строка подключения, а в CDaoDatabase::Ореn() -
только имя файла БД. Также в эти функции допустимо передать параметр, задающий режим доступа - исключительный
или только для чтения.

   
В случае ODBC применяйте функцию CDatabase::OpenEx(). Вот ее прототип:

  CDatabase::OpenEx (LPCTSTR lpszConnectString, DWORD dwOptions = 0);

   
Параметр lpszConnectString - строка подключения с DSN. Если при установке соединения с источником
не применяется авторизация Windows NT, то в строке подключения можно передать имя пользователя и пароль.
Если значение lpszConnectString - NULL, то при попытке подключения система выведет диалоговое окно с
запросом на ввод имени источника, имени пользователя и пароля.

   
Второй параметр, dwOptions, представляет собой битовую маску, задающую режим открытия источника данных. Принятое
по умолчанию значение 0 определяет, что источник будет открыт в разделяемом режиме с доступом для записи. В этом
параметре можно комбинировать значения, перечисленные в таблице 1.

Таблица 1. Необязательные параметры функции-члена СDatabase::ОреnЕх

Параметр dwOptionsЗначение
CDatabase::openReadOnlyОткрывает источник данных только для чтения
CDatabase::useCursorLibЗагружает библиотеку курсоров ODBC
CDatabase::noOdbcDialogЗапрещает отображение диалогового окна подключения независимо от того, достаточно ли информации в строке подключения
CDatabase::forceOdbcDialogВсегда отображает диалоговое окно подключения

   
Ниже показано, как ОреnЕх() вызывается для подключения к DSN pubs от имени учетной записи sa с паролем, заданным
в переменной password.

  CDatabase db;
  db.OpenEx("DSN=pubs;UID=sa; PWD=password", 0);

   
Класс CDaoDatabase учитывает некоторые особенности Microsoft Jet. Например, он позволяет связать с объектом класса
CDaoDatabase набор объектов CDaoTableDef, которые являются объектами определения таблиц и применяются для
создания и корректировки таблиц в файлах БД, совместимых с Microsoft Jet.

   
Завершив работу с объектами базы данных, всегда закрывайте их функцией Close(). Соединение с источником
данных - ценный системный ресурс, который не следует тратить зря.

   
На следующем шаге мы рассмотрим классы CRecordSet и CDaoRecordSet.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

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