Sdílet prostřednictvím


Třída CDataConnection

Spravuje připojení ke zdroji dat.

Syntaxe

class CDataConnection

Požadavky

Hlavička: atldbcli.h

Členové

Metody

Název Popis
CDataConnection::CDataConnection Konstruktor Vytvoří instanci a inicializuje CDataConnection objekt.
CDataConnection::Copy Vytvoří kopii existujícího datového připojení.
CDataConnection::Open Otevře připojení ke zdroji dat pomocí inicializačního řetězce.
CDataConnection::OpenNewSession Otevře novou relaci pro aktuální připojení.

Operátory

Název Popis
CDataConnection::operator BOOL Určuje, zda je aktuální relace otevřená nebo ne.
CDataConnection::operator bool Určuje, zda je aktuální relace otevřená nebo ne.
CDataConnection::operator CDataSource& Vrátí odkaz na obsažený CDataSource objekt.
CDataConnection::operator CDataSource* Vrátí ukazatel na obsažený CDataSource objekt.
CDataConnection::operator CSession& Vrátí odkaz na obsažený CSession objekt.
CDataConnection::operator CSession* Vrátí ukazatel na obsažený CSession objekt.

Poznámky

CDataConnection je užitečná třída pro vytváření klientů, protože zapouzdřuje nezbytné objekty (zdroj dat a relace) a část práce, kterou potřebujete udělat při připojování ke zdroji dat.

Bez CDataConnection, musíte vytvořit CDataSource objekt, volat jeho OpenFromInitializationString metodu, pak vytvořit instanci objektu CSession , volat jeho Open metodu, pak vytvořit CCommand objekt a volat jeho Open* metody.

V případě CDataConnection, že potřebujete vytvořit pouze objekt připojení, předat ho inicializační řetězec a pak použít toto připojení k otevření příkazů. Pokud máte v úmyslu používat připojení k databázi opakovaně, je vhodné připojení ponechat otevřené a CDataConnection nabízí pohodlný způsob, jak to udělat.

Poznámka:

Pokud vytváříte databázovou aplikaci, která potřebuje zpracovat více relací, budete muset použít OpenNewSession.

CDataConnection::CDataConnection

Vytvoří instanci a inicializuje CDataConnection objekt.

Syntaxe

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

Parametry

ds
[v] Odkaz na existující datové připojení.

Poznámky

První přepsání vytvoří nový CDataConnection objekt s výchozím nastavením.

Druhé přepsání vytvoří nový CDataConnection objekt s nastavením ekvivalentním objektu datového připojení, který zadáte.

CDataConnection::Copy

Vytvoří kopii existujícího datového připojení.

Syntaxe

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

Parametry

ds
[v] Odkaz na existující datové připojení ke kopírování.

CDataConnection::Open

Otevře připojení ke zdroji dat pomocí inicializačního řetězce.

Syntaxe

HRESULT Open(LPCOLESTR szInitString) throw();

Parametry

szInitString
[v] Inicializační řetězec pro zdroj dat.

Vrácená hodnota

Standardní .HRESULT

CDataConnection::OpenNewSession

Otevře novou relaci pomocí zdroje dat aktuálního objektu připojení.

Syntaxe

HRESULT OpenNewSession(CSession & session) throw();

Parametry

session
[in/out] Odkaz na nový objekt relace.

Poznámky

Nová relace používá objekt aktuálního připojení obsažený objekt dat jako nadřazený objekt a má přístup ke všem stejným informacím jako zdroj dat.

Vrácená hodnota

Standardní .HRESULT

CDataConnection::operator BOOL

Určuje, zda je aktuální relace otevřená nebo ne.

Syntaxe

operator BOOL() throw();

Poznámky

Vrátí BOOL hodnotu (MFC typedef). TRUE znamená, že aktuální relace je otevřená; FALSE znamená, že aktuální relace je uzavřena.

CDataConnection::operator bool (OLE DB)

Určuje, zda je aktuální relace otevřená nebo ne.

Syntaxe

operator bool() throw();

Poznámky

bool Vrátí hodnotu (datový typ C++). true znamená, že aktuální relace je otevřená; false znamená, že aktuální relace je uzavřena.

CDataConnection::operator CDataSource&

Vrátí odkaz na obsažený CDataSource objekt.

Syntaxe

operator const CDataSource&() throw();

Poznámky

Tento operátor vrátí odkaz na obsažený CDataSource objekt, který umožňuje předat CDataConnection objekt, kde CDataSource je očekáváno odkaz.

Příklad

Pokud máte funkci (například func níže), která přebírá CDataSource odkaz, můžete místo toho použít CDataSource& k předání objektu 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*

Vrátí ukazatel na obsažený CDataSource objekt.

Syntaxe

operator const CDataSource*() throw();

Poznámky

Tento operátor vrátí ukazatel na obsažený CDataSource objekt, který umožňuje předat CDataConnection objekt, kde CDataSource je očekáváno ukazatel.

Podívejte se operator CDataSource& na příklad použití.

CDataConnection::operator CSession&

Vrátí odkaz na obsažený CSession objekt.

Syntaxe

operator const CSession&();

Poznámky

Tento operátor vrátí odkaz na obsažený CSession objekt, který umožňuje předat CDataConnection objekt, kde CSession je očekáváno odkaz.

Příklad

Pokud máte funkci (například func níže), která přebírá CSession odkaz, můžete místo toho použít CSession& k předání objektu 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*

Vrátí ukazatel na obsažený CSession objekt.

Syntaxe

operator const CSession*() throw();

Poznámky

Tento operátor vrátí ukazatel na obsažený CSession objekt, který umožňuje předat CDataConnection objekt, kde CSession je očekáváno ukazatel.

Příklad

Podívejte se operator CSession& na příklad použití.

Viz také

Šablony příjemců OLE DB
Referenční informace k šablonám příjemců OLE DB