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