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.
Birçok uygulama arabiriminin birden çok devralını gerektirmeden standart bir OLE DB satır kümesi uygulaması sağlar.
Sözdizimi
template <
class T,
class Storage,
class CreatorClass,
class ArrayType = CAtlArray<Storage>,
class RowClass = CSimpleRow,
class RowsetInterface = IRowsetImpl <T, IRowset>
>
class CRowsetImpl :
public CComObjectRootEx<CreatorClass::_ThreadModel>,
public CRowsetBaseImpl<T, Storage, ArrayType, RowsetInterface>,
public IRowsetInfoImpl<T, CreatorClass::_PropClass>
Parametreler
T
kullanıcının sınıfından CRowsetImpltüretilen sınıfı.
Depolama
Kullanıcı kayıt sınıfı.
CreatorClass
Satır kümesinin özelliklerini içeren sınıf; genellikle komutu.
ArrayType
Satır kümesinin verileri için depolama görevi yapacak sınıf. Bu parametre varsayılan olarak CAtlArrayolarak kullanılır, ancak gerekli işlevselliği destekleyen herhangi bir sınıf olabilir.
Gereksinimler
Üst bilgi: atldb.h
Üyeler
Yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
| NameFromDBID | bir dizesini DBID ayıklar ve geçirilen bstr'ye kopyalar. |
| SetCommandText | İki dizede (m_strCommandText ve m_strIndexText) S'leri doğrular ve depolarDBID. |
Geçersiz Kılınabilir Yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
| GetColumnInfo | Belirli bir istemci isteği için sütun bilgilerini alır. |
| GetCommandFromID | Parametrelerden herhangi biri veya her ikisi de dize değerleri içerip içermediğini denetler ve varsa, dize değerlerini m_strCommandText ve m_strIndexText veri üyelerine kopyalar. |
| ValidateCommandID | dize değerlerinin olup olmadığını veya her ikisinin DBIDde dize değerleri içerip içermediğini denetler ve varsa bunları m_strCommandText ve m_strIndexText veri üyelerine kopyalar. |
Veri Üyeleri
| Veri Akışı Adı | Açıklama |
|---|---|
| m_rgRowData | Varsayılan olarak, kullanıcı kaydı şablonu bağımsız değişkeninde olarak şablon oluşturan bir CAtlArray değeridir CRowsetImpl. Şablon bağımsız değişkeni CRowsetImplolarak değiştirilerek ArrayType başka bir dizi türü sınıfı kullanılabilir. |
| m_strCommandText | Satır kümesinin ilk komutunu içerir. |
| m_strIndexText | Satır kümesinin ilk dizinini içerir. |
Açıklamalar
CRowsetImpl , statik yukarı yayın biçiminde geçersiz kılmalar sağlar. Yöntemler, belirli bir satır kümesinin komut metnini nasıl doğrulayacaklarını denetler. Uygulama arabirimlerinizi birden çok devralınmış hale getirerek kendi CRowsetImplstil sınıfınızı oluşturabilirsiniz. Uygulamasını sağlamanız gereken tek yöntemdir Execute. Oluşturduğunuz satır kümesi türüne bağlı olarak, oluşturucu yöntemleri için Executefarklı imzalar bekler. Örneğin, şema satır kümesini uygulamak için -derived sınıfı kullanıyorsanız CRowsetImpl, Execute yöntemi aşağıdaki imzaya sahip olur:
HRESULT Execute(LONG* pcRows, ULONG cRestrictions, const VARIANT* rgRestrictions)
Bir komutun veya oturumun satır kümesini uygulamak için türetilmiş bir sınıf oluşturuyorsanız CRowsetImpl, Execute yöntemi aşağıdaki imzaya sahip olur:
HRESULT Execute(LONG* pcRows, DBPARAMS* pParams)
Türetilmiş Execute yöntemlerden herhangi birini CRowsetImpluygulamak için iç veri arabelleklerinizi (m_rgRowData) doldurmanız gerekir.
CRowsetImpl::NameFromDBID
bir dizesini DBID ayıklar ve geçirilen bstr'ye kopyalar.
Sözdizimi
HRESULT CRowsetBaseImpl::NameFromDBID(DBID* pDBID,
CComBSTR& bstr,
bool bIndex);
Parametreler
pDBID
[in] Bir dizenin DBID ayıklandığı işaretçi.
bstr
[in] Dizenin DBID bir kopyasını yerleştirmek için CComBSTR başvurusu.
bIndex
[in] true bir dizin DBIDise ; false tablo DBIDise.
Dönüş Değeri
Standart bir HRESULT. öğesinin DBID tablo mu yoksa dizin mi (bIndex ile belirtilir) olduğuna bağlı olarak, yöntem DB_E_NOINDEX veya DB_E_NOTABLE döndürür.
Açıklamalar
Bu yöntem ValidateCommandID ve GetCommandFromID uygulamaları tarafından CRowsetImpl çağrılır.
CRowsetImpl::SetCommandText
İki dizede (m_strCommandText ve m_strIndexText) S'leri doğrular ve depolarDBID.
Sözdizimi
HRESULT CRowsetBaseImpl::SetCommandText(DBID* pTableID,
DBID* pIndexID);
Parametreler
pTableID
[in] DBID Tablo kimliğini temsil eden işaretçi.
pIndexID
[in] DBID Dizin kimliğini temsil eden işaretçi.
Dönüş Değeri
Standart bir HRESULT.
Açıklamalar
SetCommentText yöntemi, statik bir templatized yöntemi olan tarafından CreateRowsetçağrılırIOpenRowsetImpl.
Bu yöntem, validatecommandID ve GetCommandFromID'yi bir yükseltilmiş işaretçi aracılığıyla çağırarak çalışmasına temsilcilik eder.
CRowsetImpl::GetColumnInfo
Belirli bir istemci isteği için sütun bilgilerini alır.
Sözdizimi
static ATLCOLUMNINFO* CRowsetBaseImpl::GetColumnInfo(T* pv,
ULONG* pcCols);
Parametreler
Pv
[in] Kullanıcının CRowsetImpl türetilmiş sınıfına bir işaretçi.
pcCols
[in] Döndürülen sütun sayısına ilişkin bir işaretçi (çıkış).
Dönüş Değeri
Statik ATLCOLUMNINFO bir yapıya işaretçi.
Açıklamalar
Bu yöntem gelişmiş bir geçersiz kılmadır.
Bu yöntem, belirli bir istemci isteğinin sütun bilgilerini almak için birkaç temel uygulama sınıfı tarafından çağrılır. Bu yöntem genellikle tarafından IColumnsInfoImplçağrılır. Bu yöntemi geçersiz kılarsanız, yöntemin bir sürümünü türetilmiş sınıfınıza yerleştirmeniz CRowsetImplgerekir. yöntemi şablonlanmamış bir sınıfa yerleştirilebileceği için bd'yi uygun CRowsetImpltüretilmiş sınıfa değiştirmeniz gerekir.
Aşağıdaki örnekte kullanım gösterilmektedir GetColumnInfo . Bu örnekte, CMyRowset türetilmiş bir CRowsetImplsınıftır. Bu sınıfın tüm örneklerini geçersiz kılmak GetColumnInfo için sınıf tanımına CMyRowset aşağıdaki yöntemi yerleştirin:
static ATLCOLUMNINFO* GetColumnInfo(CCustomRowset* pRowset, DBORDINAL* pcCols)
{
// Add your implementation here and/or call the base class
return CRowsetImpl::GetColumnInfo(pRowset, pcCols);
}
CRowsetImpl::GetCommandFromID
Parametrelerden herhangi biri veya her ikisi de dize değerleri içerip içermediğini denetler ve varsa, dize değerlerini m_strCommandText ve m_strIndexText veri üyelerine kopyalar.
Sözdizimi
HRESULT CRowsetBaseImpl::GetCommandFromID(DBID* pTableID,
DBID* pIndexID);
Parametreler
pTableID
[in] DBID Tablo Kimliğini temsil eden işaretçi.
pIndexID
[in] DBID Dizin Kimliğini temsil eden işaretçi.
Dönüş Değeri
Standart bir HRESULT.
Açıklamalar
Bu yöntem, m_strCommandText ve m_strIndexText veri üyelerini doldurmak için tarafından CRowsetImpl statik bir yukarı yayın aracılığıyla çağrılır. Varsayılan olarak, bu yöntem parametrelerden herhangi biri veya her ikisi de dize değerleri içerip içermediğini denetler. Dize değerleri içeriyorsa, bu yöntem dize değerlerini veri üyelerine kopyalar. Bu imzaya sahip bir yöntemi türetilmiş sınıfınıza CRowsetImplyerleştirerek, yönteminiz temel uygulama yerine çağrılır.
CRowsetImpl::ValidateCommandID
dize değerlerinin olup olmadığını veya her ikisinin DBIDde dize değerleri içerip içermediğini denetler ve varsa bunları m_strCommandText ve m_strIndexText veri üyelerine kopyalar.
Sözdizimi
HRESULT CRowsetBaseImpl::ValidateCommandID(DBID* pTableID,
DBID* pIndexID);
Parametreler
pTableID
[in] DBID Tablo kimliğini temsil eden işaretçi.
pIndexID
[in] DBID Dizin kimliğini temsil eden işaretçi.
Dönüş Değeri
Standart bir HRESULT.
Açıklamalar
Bu yöntem, m_strCommandText ve m_strIndexText veri üyelerini doldurmak için tarafından CRowsetImpl statik bir yukarı yayın aracılığıyla çağrılır. Varsayılan olarak bu yöntem, dize değerlerinin olup olmadığını veya her ikisinin DBIDde dize değerleri içerip içermediğini denetler ve varsa bunları veri üyelerine kopyalar. Bu imzaya sahip bir yöntemi türetilmiş sınıfınıza CRowsetImplyerleştirerek, yönteminiz temel uygulama yerine çağrılır.
CRowsetImpl::m_rgRowData
Varsayılan olarak, kullanıcı kaydı şablonu bağımsız değişkeninde olarak şablon oluşturan bir CAtlArray değeridir CRowsetImpl.
Sözdizimi
ArrayType CRowsetBaseImpl::m_rgRowData;
Açıklamalar
ArrayType , için CRowsetImplbir şablon parametresidir.
CRowsetImpl::m_strCommandText
Satır kümesinin ilk komutunu içerir.
Sözdizimi
CComBSTR CRowsetBaseImpl::m_strCommandText;
CRowsetImpl::m_strIndexText
Satır kümesinin ilk dizinini içerir.
Sözdizimi
CComBSTR CRowsetBaseImpl::m_strIndexText;