Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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ı