Aracılığıyla paylaş


CRowsetImpl Sınıfı

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;