Aracılığıyla paylaş


CDynamicParameterAccessor Sınıfı

CDynamicAccessor'a benzer, ancak ICommandWithParameters arabirimini çağırarak ayarlanacak parametre bilgilerini alır.

Sözdizimi

class CDynamicParameterAccessor : public CDynamicAccessor

Gereksinimler

Üst bilgi: atldbcli.h

Üyeler

Yöntemler

Veri Akışı Adı Açıklama
CDynamicParameterAccessor Oluşturucu.
GetParam Arabellekten parametre verilerini alır.
GetParamCount Erişimcideki parametre sayısını alır.
GetParamIO Belirtilen parametrenin bir giriş veya çıkış parametresi olup olmadığını belirler.
GetParamLength Arabellekte depolanan belirtilen parametrenin uzunluğunu alır.
GetParamName Belirtilen parametrenin adını alır.
GetParamStatus Arabellekte depolanan belirtilen parametrenin durumunu alır.
GetParamString Arabellekte depolanan belirtilen parametrenin dize verilerini alır.
GetParamType Belirtilen parametrenin veri türünü alır.
SetParam Parametre verilerini kullanarak arabelleği ayarlar.
SetParamLength Arabellekte depolanan belirtilen parametrenin uzunluğunu ayarlar.
SetParamStatus Arabellekte depolanan belirtilen parametrenin durumunu ayarlar.
SetParamString Arabellekte depolanan belirtilen parametrenin dize verilerini ayarlar.

Açıklamalar

Sağlayıcının tüketicinin bu sınıfı kullanmasını desteklemesi ICommandWithParameters gerekir.

Parametre bilgileri, bu sınıf tarafından oluşturulan ve yönetilen bir arabellekte depolanır. GetParam ve GetParamType kullanarak arabellekten parametre verilerini alın.

Sql Server saklı yordamını yürütmek ve çıkış parametresi değerlerini almak için bu sınıfın nasıl kullanılacağını gösteren bir örnek için GitHub'daki Microsoft VCSamples deposundaki DynamicConsumer örnek koduna bakın.

CDynamicParameterAccessor::CDynamicParameterAccessor

Oluşturucu.

Sözdizimi

typedef CDynamicParameterAccessor _ParamClass;
CDynamicParameterAccessor(
   DBBLOBHANDLINGENUM eBlobHandling = DBBLOBHANDLING_DEFAULT,
   DBLENGTH nBlobSize = 8000 )
   : CDynamicAccessor(eBlobHandling, nBlobSize )

Parametreler

eBlobHandling
BLOB verilerinin nasıl işleneceğini belirtir. Varsayılan değer DBBLOBHANDLING_DEFAULT. DBBLOBHANDLINGENUM değerlerinin açıklaması için bkz . CDynamicAccessor::SetBlobHandling .

nBlobSize
Bayt cinsinden en büyük BLOB boyutu; bu değer üzerindeki sütun verileri BLOB olarak değerlendirilir. Varsayılan değer 8.000'dir. Ayrıntılar için bkz . CDynamicAccessor::SetBlobSizeLimit .

Açıklamalar

BLOB işleme hakkında daha fazla bilgi için bkz. CDynamicAccessor::CDynamicAccessor oluşturucu.

CDynamicParameterAccessor::GetParam

Parametre arabelleğinden belirtilen parametre için dize olmayan verileri alır.

Sözdizimi

template <class ctype>bool GetParam(DBORDINAL nParam,
   ctype* pData) const throw();

template <class ctype> bool GetParam(TCHAR* pParamName,
   ctype* pData) const throw();

void* GetParam(DBORDINAL nParam) const throw();

void* GetParam(TCHAR* pParamName) const throw();

Parametreler

ctype
Veri türü olan şablonlu parametre.

nParam
[in] Parametre numarası (1'den uzaklık). Parametre 0, dönüş değerleri için ayrılmıştır. Parametre numarası, SQL veya saklı yordam çağrısındaki sırasına göre parametrenin dizinidir. Bir örnek için bkz . SetParam .

pParamName
[in] Parametre adı.

pData
[out] Arabellekten alınan verileri içeren belleğe yönelik işaretçi.

Dönüş Değeri

Ortak olmayan sürümler için arabellekten alınan verileri içeren belleğe işaret ediyor. Şablonlu sürümler için başarılı veya false başarısız olduğunda döndürürtrue.

Arabellekten dize olmayan parametre verilerini almak için kullanın GetParam . Arabellekten dize parametresi verilerini almak için GetParamString kullanın.

CDynamicParameterAccessor::GetParamCount

Arabellekte depolanan parametre sayısını alır.

Sözdizimi

DB_UPARAMS GetParamCount() const throw();

Dönüş Değeri

Parametre sayısı.

CDynamicParameterAccessor::GetParamIO

Belirtilen parametrenin bir giriş veya çıkış parametresi olup olmadığını belirler.

Sözdizimi

bool GetParamIO(DBORDINAL nParam,
   DBPARAMIO* pParamIO) const throw();

Parametreler

nParam
[in] Parametre numarası (1'den uzaklık). Parametre 0, dönüş değerleri için ayrılmıştır. Parametre numarası, SQL veya saklı yordam çağrısındaki sırasına göre parametrenin dizinidir. Bir örnek için bkz . SetParam .

pParamIO
Belirtilen parametrenin türünü (giriş veya çıkış) içeren DBPARAMIO değişkenin işaretçisi. Aşağıdaki gibi tanımlanır:

typedef DWORD DBPARAMIO;

enum DBPARAMIOENUM {
    DBPARAMIO_NOTPARAM   = 0,
    DBPARAMIO_INPUT      = 0x1,
    DBPARAMIO_OUTPUT     = 0x2
};

Dönüş Değeri

Başarılı veya false başarısız olduğunda döndürürtrue.

CDynamicParameterAccessor::GetParamLength

Arabellekte depolanan belirtilen parametrenin uzunluğunu alır.

Sözdizimi

bool GetParamLength(DBORDINAL nParam,
   DBLENGTH* pLength);

DBLENGTH* GetParamLength(DBORDINAL nParam) const throw();

Parametreler

nParam
[in] Parametre numarası (1'den uzaklık). Parametre 0, dönüş değerleri için ayrılmıştır. Parametre numarası, SQL veya saklı yordam çağrısındaki sırasına göre parametrenin dizinidir. Bir örnek için bkz . SetParam .

pLength
[out] Belirtilen parametrenin bayt cinsinden uzunluğunu içeren değişkenin işaretçisi.

Açıklamalar

İlk geçersiz kılma başarılı veya false başarısız olduğunda döndürürtrue. İkinci geçersiz kılma parametresinin uzunluğunu içeren belleğe işaret ediyor.

CDynamicParameterAccessor::GetParamName

Belirtilen parametrenin adını alır.

Sözdizimi

LPOLESTR GetParamName(DBORDINAL nParam) const throw();

Parametreler

nParam
[in] Parametre numarası (1'den uzaklık). Parametre 0, dönüş değerleri için ayrılmıştır. Parametre numarası, SQL veya saklı yordam çağrısındaki sırasına göre parametrenin dizinidir. Bir örnek için bkz . SetParam .

Dönüş Değeri

Belirtilen parametrenin adı.

CDynamicParameterAccessor::GetParamStatus

Arabellekte depolanan belirtilen parametrenin durumunu alır.

Sözdizimi

bool GetParamStatus(DBORDINAL nParam,
   DBSTATUS* pStatus);

DBSTATUS* GetParamStatus(DBORDINAL nParam) const throw();

Parametreler

nParam
[in] Parametre numarası (1'den uzaklık). Parametre 0, dönüş değerleri için ayrılmıştır. Parametre numarası, SQL veya saklı yordam çağrısındaki sırasına göre parametrenin dizinidir. Bir örnek için bkz . SetParam .

pStatus
[out] Belirtilen parametrenin DBSTATUS durumunu içeren değişkenin işaretçisi. DBSTATUS değerleri hakkında bilgi için OLE DB Programcı Başvurusu'nda Durum bölümüne bakın veya oledb.h dosyasında DBSTATUS araması yapın.

Açıklamalar

İlk geçersiz kılma başarılı veya false başarısız olduğunda döndürürtrue. İkinci geçersiz kılma, belirtilen parametrenin durumunu içeren belleğe işaret ediyor.

CDynamicParameterAccessor::GetParamString

Arabellekte depolanan belirtilen parametrenin dize verilerini alır.

Sözdizimi

bool GetParamString(DBORDINAL nParam,
   CSimpleStringA& strOutput) throw();

bool GetParamString(DBORDINAL nParam,
   CSimpleStringW& strOutput) throw();

bool GetParamString(DBORDINAL nParam,
   CHAR* pBuffer,
   size_t* pMaxLen) throw();

bool GetParamString(DBORDINAL nParam,
   WCHAR* pBuffer,
   size_t* pMaxLen) throw();

Parametreler

nParam
[in] Parametre numarası (1'den uzaklık). Parametre 0, dönüş değerleri için ayrılmıştır. Parametre numarası, SQL veya saklı yordam çağrısındaki sırasına göre parametrenin dizinidir. Bir örnek için bkz . SetParam .

strOutput
[out] Belirtilen parametrenin ANSI (CSimpleStringA) veya Unicode (CSimpleStringW) dize verileri. türünde CStringbir parametre geçirmeniz gerekir, örneğin:

CString MyString;
rs.GetParamString(1, MyString);

pBuffer
[out] Belirtilen parametrenin ANSI (CHAR) veya Unicode (WCHAR) dize verilerine yönelik bir işaretçi.

pMaxLen
[out] pBuffer tarafından işaret edilen arabelleğin boyutuna ilişkin bir işaretçi (sonlandırıcı NULL dahil olmak üzere karakter cinsinden).

Açıklamalar

Başarılı veya false başarısız olduğunda döndürürtrue.

pBuffer NULL ise, bu yöntem pMaxLen tarafından işaret edilen bellekte gerekli arabellek boyutunu ayarlar ve verileri kopyalamadan döndürürtrue.

Arabellek pBuffer tüm dizeyi içerecek kadar büyük değilse bu yöntem başarısız olur.

Arabellekten dize parametresi verilerini almak için kullanın GetParamString . Arabellekten dize olmayan parametre verilerini almak için GetParam kullanın.

CDynamicParameterAccessor::GetParamType

Belirtilen parametrenin veri türünü alır.

Sözdizimi

bool GetParamType(DBORDINAL nParam,
   DBTYPE* pType) const throw();

Parametreler

nParam
[in] Parametre numarası (1'den uzaklık). Parametre 0, dönüş değerleri için ayrılmıştır. Parametre numarası, SQL veya saklı yordam çağrısındaki sırasına göre parametrenin dizinidir. Bir örnek için bkz . SetParam .

pType
[out] Belirtilen parametrenin veri türünü içeren değişkenin işaretçisi.

Dönüş Değeri

Başarılı veya false başarısız olduğunda döndürürtrue.

CDynamicParameterAccessor::SetParam

Belirtilen (dize olmayan) verileri kullanarak parametre arabelleği ayarlar.

Sözdizimi

template <class ctype>
bool SetParam(DBORDINAL nParam,
   constctype* pData,
   DBSTATUS status = DBSTATUS_S_OK) throw();

template <class ctype>
bool SetParam(TCHAR* pParamName,
   const ctype* pData,
   DBSTATUS status = DBSTATUS_S_OK) throw();

Parametreler

ctype
Veri türü olan şablonlu parametre.

nParam
[in] Parametre numarası (1'den uzaklık). Parametre 0, dönüş değerleri için ayrılmıştır. Parametre numarası, SQL veya saklı yordam çağrısındaki sırasına göre parametrenin dizinidir. Örneğin:

WCHAR* wszSQL = L"SELECT * FROM Authors WHERE State='?' AND LName='?'";

CCommand<CDynamicParameterAccessor> rs;
//...
rs.SetParam<LONG>(1, &m_BillingID);
rs.SetParam<CString>(2, &m_strFirstName);

pParamName
[in] Parametre adı.

pData
[in] Arabelleğe yazılacak verileri içeren belleğe yönelik işaretçi.

durum
[in] DBSTATUS sütun durumu. DBSTATUS değerleri hakkında bilgi için OLE DB Programcı Başvurusu'nda Durum bölümüne bakın veya oledb.h dosyasında DBSTATUS araması yapın.

Dönüş Değeri

Başarılı veya false başarısız olduğunda döndürürtrue.

Arabellekte dize olmayan parametre verilerini ayarlamak için kullanın SetParam . Arabellekte dize parametresi verilerini ayarlamak için SetParamString kullanın.

CDynamicParameterAccessor::SetParamLength

Arabellekte depolanan belirtilen parametrenin uzunluğunu ayarlar.

Sözdizimi

bool SetParamLength(DBORDINAL nParam,
   DBLENGTH length);

Parametreler

nParam
[in] Parametre numarası (1'den uzaklık). Parametre 0, dönüş değerleri için ayrılmıştır. Parametre numarası, SQL veya saklı yordam çağrısındaki sırasına göre parametrenin dizinidir. Bir örnek için bkz . SetParam .

length
[in] Belirtilen parametrenin bayt cinsinden uzunluğu.

Açıklamalar

Başarılı veya false başarısız olduğunda döndürürtrue.

CDynamicParameterAccessor::SetParamStatus

Arabellekte depolanan belirtilen parametrenin durumunu ayarlar.

Sözdizimi

bool SetParamStatus(DBORDINAL nParam,
   DBSTATUS status);

Parametreler

nParam
[in] Parametre numarası (1'den uzaklık). Parametre 0, dönüş değerleri için ayrılmıştır. Parametre numarası, SQL veya saklı yordam çağrısındaki sırasına göre parametrenin dizinidir. Bir örnek için bkz . SetParam .

durum
[in] Belirtilen parametrenin DBSTATUS durumu. DBSTATUS değerleri hakkında bilgi için OLE DB Programcı Başvurusu'nda Durum bölümüne bakın veya oledb.h dosyasında DBSTATUS araması yapın.

Açıklamalar

Başarılı veya false başarısız olduğunda döndürürtrue.

CDynamicParameterAccessor::SetParamString

Arabellekte depolanan belirtilen parametrenin dize verilerini ayarlar.

Sözdizimi

bool SetParamString(DBORDINAL nParam,
   constCHAR* pString,
   DBSTATUS status = DBSTATUS_S_OK) throw();bool SetParamString(DBORDINAL nParam,
   constWCHAR* pString,
   DBSTATUS status = DBSTATUS_S_OK) throw();

Parametreler

nParam
[in] Parametre numarası (1'den uzaklık). Parametre 0, dönüş değerleri için ayrılmıştır. Parametre numarası, SQL veya saklı yordam çağrısındaki sırasına göre parametrenin dizinidir. Bir örnek için bkz . SetParam .

pString
[in] Belirtilen parametrenin ANSI (CHAR) veya Unicode (WCHAR) dize verilerine yönelik bir işaretçi. Bkz. oledb.h'de DBSTATUS.

durum
[in] Belirtilen parametrenin DBSTATUS durumu. DBSTATUS değerleri hakkında bilgi için OLE DB Programcı Başvurusu'nda Durum bölümüne bakın veya oledb.h dosyasında DBSTATUS araması yapın.

Açıklamalar

Başarılı veya false başarısız olduğunda döndürürtrue.

SetParamStringpString için belirtilen en büyük boyuttan daha büyük bir dize ayarlamaya çalışırsanız başarısız olur.

Arabellekte dize parametresi verilerini ayarlamak için kullanın SetParamString . Arabelleğe dize olmayan parametre verilerini ayarlamak için SetParam kullanın.

Ayrıca bkz.

OLE DB Tüketici Şablonları
OLE DB Tüketici Şablonları Başvurusu
CAccessor Sınıfı
CDynamicAccessor Sınıfı
CManualAccessor Sınıfı