Поделиться через


Класс CDataConnection

Управляет подключением к источнику данных.

Синтаксис

class CDataConnection

Требования

Заголовок: atldbcli.h

Участники

Методы

Имя Описание
CDataConnection::CDataConnection Конструктор. Создает экземпляр и инициализирует CDataConnection объект.
CDataConnection::Copy Создает копию существующего подключения к данным.
CDataConnection::Open Открывает подключение к источнику данных с помощью строки инициализации.
CDataConnection::OpenNewSession Открывает новый сеанс для текущего подключения.

Операторы

Имя Описание
CDataConnection::operator BOOL Определяет, открыт ли текущий сеанс.
CDataConnection::operator bool Определяет, открыт ли текущий сеанс.
CDataConnection::operator CDataSource& Возвращает ссылку на содержащийся CDataSource объект.
CDataConnection::operator CDataSource* Возвращает указатель на содержащийся CDataSource объект.
CDataConnection::operator CSession& Возвращает ссылку на содержащийся CSession объект.
CDataConnection::operator CSession* Возвращает указатель на содержащийся CSession объект.

Замечания

CDataConnection — это полезный класс для создания клиентов, так как он инкапсулирует необходимые объекты (источник данных и сеанс) и некоторые из работ, которые необходимо выполнить при подключении к источнику данных.

Без CDataConnectionэтого необходимо создать CDataSource объект, вызвать его OpenFromInitializationString метод, а затем создать экземпляр CSession объекта, вызвать его Open метод, а затем CCommand создать объект и вызвать его Openметод *.

При этом CDataConnectionнеобходимо только создать объект подключения, передать его строку инициализации, а затем использовать это соединение для открытия команд. Если вы планируете использовать подключение к базе данных неоднократно, рекомендуется сохранить подключение открытым и CDataConnection предоставить удобный способ сделать это.

Примечание.

Если вы создаете приложение базы данных, которое должно обрабатывать несколько сеансов, вам потребуется использовать OpenNewSession.

CDataConnection::CDataConnection

Создает экземпляр и инициализирует CDataConnection объект.

Синтаксис

CDataConnection();
CDataConnection(const CDataConnection &ds);

Параметры

ds
[in] Ссылка на существующее подключение к данным.

Замечания

Первая переопределение создает новый CDataConnection объект с параметрами по умолчанию.

Второй переопределение создает новый CDataConnection объект с параметрами, эквивалентными заданному объекту подключения к данным.

CDataConnection::Copy

Создает копию существующего подключения к данным.

Синтаксис

CDataConnection& Copy(const CDataConnection & ds) throw();

Параметры

ds
[in] Ссылка на существующее подключение к данным для копирования.

CDataConnection::Open

Открывает подключение к источнику данных с помощью строки инициализации.

Синтаксис

HRESULT Open(LPCOLESTR szInitString) throw();

Параметры

szInitString
[in] Строка инициализации для источника данных.

Возвращаемое значение

Стандартный HRESULT.

CDataConnection::OpenNewSession

Открывает новый сеанс с помощью источника данных текущего объекта подключения.

Синтаксис

HRESULT OpenNewSession(CSession & session) throw();

Параметры

session
[in/out] Ссылка на новый объект сеанса.

Замечания

Новый сеанс использует содержащийся в текущем объекте источника данных текущий объект подключения в качестве родительского объекта и может получить доступ ко всем тем же данным, что и источник данных.

Возвращаемое значение

Стандартный HRESULT.

CDataConnection::operator BOOL

Определяет, открыт ли текущий сеанс.

Синтаксис

operator BOOL() throw();

Замечания

Возвращает BOOL значение (типdef MFC). TRUE означает, что текущий сеанс открыт; FALSE означает, что текущий сеанс закрыт.

CDataConnection::operator bool (OLE DB)

Определяет, открыт ли текущий сеанс.

Синтаксис

operator bool() throw();

Замечания

bool Возвращает значение (тип данных C++). true означает, что текущий сеанс открыт; false означает, что текущий сеанс закрыт.

CDataConnection::operator CDataSource&

Возвращает ссылку на содержащийся CDataSource объект.

Синтаксис

operator const CDataSource&() throw();

Замечания

Этот оператор возвращает ссылку на содержащийся CDataSource объект, что позволяет передавать CDataConnection объект, в котором CDataSource ожидается ссылка.

Пример

Если у вас есть функция (например func , ниже), которая принимает ссылку CDataSource , можно использовать CDataSource& для передачи CDataConnection объекта.

void SourceFunc(const CDataSource& theSource)
{
   CComVariant var;
   theSource.GetProperty(DBPROPSET_DATASOURCEINFO, DBPROP_DATASOURCENAME, &var);
}

 

CDataConnection dc;
dc.Open(szInit);
SourceFunc(dc);

CDataConnection::operator CDataSource*

Возвращает указатель на содержащийся CDataSource объект.

Синтаксис

operator const CDataSource*() throw();

Замечания

Этот оператор возвращает указатель на содержащийся CDataSource объект, что позволяет передавать CDataConnection объект, в котором CDataSource ожидается указатель.

См operator CDataSource& . пример использования.

CDataConnection::operator CSession&

Возвращает ссылку на содержащийся CSession объект.

Синтаксис

operator const CSession&();

Замечания

Этот оператор возвращает ссылку на содержащийся CSession объект, что позволяет передавать CDataConnection объект, в котором CSession ожидается ссылка.

Пример

Если у вас есть функция (например func , ниже), которая принимает ссылку CSession , можно использовать CSession& для передачи CDataConnection объекта.

void SessionFunc(const CSession& theSession)
{
   XACTTRANSINFO info = {0};
   HRESULT hr = theSession.GetTransactionInfo(&info);
   wprintf_s(_T("GetTransactionInfo returned %x\n"), hr);
}

 

CDataConnection dc;
dc.Open(szInit);
SessionFunc(dc);

CDataConnection::operator CSession*

Возвращает указатель на содержащийся CSession объект.

Синтаксис

operator const CSession*() throw();

Замечания

Этот оператор возвращает указатель на содержащийся CSession объект, что позволяет передавать CDataConnection объект, в котором CSession ожидается указатель.

Пример

См operator CSession& . пример использования.

См. также

Шаблоны потребителей OLE DB
Справочник по шаблонам потребителей OLE DB