Класс 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