Aracılığıyla paylaş


IRowsetUpdateImpl Sınıfı

IRowsetUpdate arabiriminin OLE DB Şablonları uygulaması.

Sözdizimi

template <
   class T,
   class Storage,
   class UpdateArray = CAtlArray<Storage>,
   class RowClass = CSimpleRow,
   class MapClass = CAtlMap <RowClass::KeyType, RowClass*>
>

class IRowsetUpdateImpl : public IRowsetChangeImpl<
   T,
   Storage,
   IRowsetUpdate,
   RowClass,
   MapClass>

Parametreler

T
öğesinden IRowsetUpdateImpltüretilen bir sınıf.

Depolama
Kullanıcı kaydı.

UpdateArray
Satır kümesini güncelleştirmek için önbelleğe alınmış verileri içeren bir dizi.

RowClass
için HROWdepolama birimi.

MapClass
Sağlayıcı tarafından tutulan tüm satır tanıtıcıları için depolama birimi.

Gereksinimler

Üst bilgi: atldb.h

Üyeler

Arabirim Yöntemleri (IRowsetChange ile kullanılır)

Veri Akışı Adı Açıklama
SetData Bir veya daha fazla sütundaki veri değerlerini ayarlar.

Arabirim Yöntemleri (IRowsetUpdate ile kullanılır)

Veri Akışı Adı Açıklama
GetOriginalData Bekleyen değişiklikleri yoksayarak veri kaynağına en son iletilen veya veri kaynağından alınan verileri alır.
GetPendingRows Bekleyen değişiklikler içeren satırların listesini döndürür.
GetRowStatus Belirtilen satırların durumunu döndürür.
Geri almak Son getirme veya güncelleştirmeden sonra satırda yapılan değişiklikleri geri alır.
Güncelleştirme Son getirme veya güncelleştirmeden sonra satıra yapılan değişiklikleri iletir.

Uygulama Yöntemleri (Geri Çağırma)

Veri Akışı Adı Açıklama
IsUpdateAllowed Güncelleştirmelere izin vermeden önce güvenlik, bütünlük vb. denetlemek için kullanılır.

Veri Üyeleri

Veri Akışı Adı Açıklama
m_mapCachedData Ertelenen işlemin özgün verilerini içerir.

Açıklamalar

Burada açıklanan her şey burada da geçerli olduğundan, önce IRowsetChange belgelerini okumanız ve anlamanız gerekir. Ayrıca, ole db programcısının veri ayarlama başvurusunun 6. bölümünü de okumalısınız.

IRowsetUpdateImpl, tüketicilerin veri kaynağına yapılan IRowsetChange değişikliklerin iletimini geciktirmelerini ve iletim öncesinde değişiklikleri geri almalarını sağlayan OLE DB IRowsetUpdate arabirimini uygular.

Önemli

Sağlayıcınızı uygulamaya çalışmadan önce aşağıdaki belgeleri okumanız kesinlikle önerilir:

IRowsetUpdateImpl::SetData

Bir veya daha fazla sütundaki veri değerlerini ayarlar.

Sözdizimi

STDMETHOD (SetData )(HROW hRow,
   HACCESSOR hAccessor,
   void* pSrcData);

Parametreler

OLE DB Programcı Başvurusu'nda IRowsetChange::SetData bölümüne bakın.

Açıklamalar

Bu yöntem IRowsetChangeImpl::SetData yöntemini geçersiz kılar, ancak işlemin hemen veya ertelenmiş işlenmesine izin vermek için özgün verilerin önbelleğe alınmasını içerir.

IRowsetUpdateImpl::GetOriginalData

Bekleyen değişiklikleri yoksayarak veri kaynağına en son iletilen veya veri kaynağından alınan verileri alır.

Sözdizimi

STDMETHOD (GetOriginalData )(HROW hRow,
   HACCESSOR hAccessor,
   void* pData);

Parametreler

OLE DB Programcı Başvurusu'nda IRowsetUpdate::GetOriginalData bölümüne bakın.

IRowsetUpdateImpl::GetPendingRows

Bekleyen değişiklikler içeren satırların listesini döndürür.

Sözdizimi

STDMETHOD (GetPendingRows )(HCHAPTER /* hReserved */,
   DBPENDINGSTATUS dwRowStatus,
   DBCOUNTITEM* pcPendingRows,
   HROW** prgPendingRows,
   DBPENDINGSTATUS** prgPendingStatus);

Parametreler

hReserved
[in] IRowsetUpdate::GetPendingRows içindeki hChapter parametresine karşılık gelir.

Diğer parametreler için OLE DB Programcı Başvurusu'ndaki IRowsetUpdate::GetPendingRows bölümüne bakın.

Açıklamalar

Daha fazla bilgi için OLE DB Programcı Başvurusu'ndaki IRowsetUpdate::GetPendingRows bölümüne bakın.

IRowsetUpdateImpl::GetRowStatus

Belirtilen satırların durumunu döndürür.

Sözdizimi

STDMETHOD (GetRowStatus )(HCHAPTER /* hReserved */,
   DBCOUNTITEM cRows,
   const HROW rghRows[],
   DBPENDINGSTATUS rgPendingStatus[]);

Parametreler

hReserved
[in] IRowsetUpdate::GetRowStatus içindeki hChapter parametresine karşılık gelir.

Diğer parametreler için OLE DB Programcı Başvurusu'nda IRowsetUpdate::GetRowStatus bölümüne bakın.

IRowsetUpdateImpl::Undo

Son getirme veya güncelleştirmeden sonra satırda yapılan değişiklikleri geri alır.

Sözdizimi

STDMETHOD (Undo )(HCHAPTER /* hReserved */,
   DBCOUNTITEM cRows,
   const HROW rghRows[ ],
   DBCOUNTITEM* pcRowsUndone,
   HROW** prgRowsUndone,
   DBROWSTATUS** prgRowStatus);

Parametreler

hReserved
[in] IRowsetUpdate::Undo içindeki hChapter parametresine karşılık gelir.

pcRowsUndone
[out] IRowsetUpdate::Undo içindeki pcRows parametresine karşılık gelir.

prgRowsUndone
[in] IRowsetUpdate::Undo içindeki prgRows parametresine karşılık gelir.

Diğer parametreler için OLE DB Programcı Başvurusu'nda IRowsetUpdate::Undo bölümüne bakın.

IRowsetUpdateImpl::Update

Son getirme veya güncelleştirmeden sonra satıra yapılan değişiklikleri iletir.

Sözdizimi

STDMETHOD (Update )(HCHAPTER /* hReserved */,
   DBCOUNTITEM cRows,
   const HROW rghRows[],
   DBCOUNTITEM* pcRows,
   HROW** prgRows,
   DBROWSTATUS** prgRowStatus);

Parametreler

hReserved
[in] IRowsetUpdate::Update içindeki hChapter parametresine karşılık gelir.

Diğer parametreler için OLE DB Programcı Başvurusu'nda IRowsetUpdate::Update bölümüne bakın.

Açıklamalar

Değişiklikler IRowsetChangeImpl::FlushData çağrılarak iletilir. Değişikliklerin geçerli olması için tüketicinin CRowset::Update çağrısı yapması gerekir. prgRowstatus değerini OLE DB Programcı Başvurusu'ndaki Satır Durumları'nda açıklandığı gibi uygun bir değere ayarlayın.

IRowsetUpdateImpl::IsUpdateAllowed

Güncelleştirmeler öncesinde güvenlik, bütünlük vb. denetlemek için bu yöntemi geçersiz kılın.

Sözdizimi

HRESULT IsUpdateAllowed(DBPENDINGSTATUS /* [in] */ /* status */,
   HROW /* [in] */ /* hRowUpdate */,
   DBROWSTATUS* /* [out] */ /* pRowStatus */);

Parametreler

durum
[in] Satırlarda bekleyen işlemlerin durumu.

hRowUpdate
[in] Kullanıcının güncelleştirmek istediği satırların tanıtıcısı.

pRowStatus
[out] Kullanıcıya döndürülen durum.

Açıklamalar

Bir güncelleştirmeye izin verilmesi gerektiğini belirlerseniz S_OK döndürür; aksi takdirde E_FAIL döndürür. Bir güncelleştirmeye izin verirseniz, IRowsetUpdateImpl::Update içinde değerini de uygun bir satır durumuna ayarlamanız DBROWSTATUS gerekir.

IRowsetUpdateImpl::m_mapCachedData

Ertelenen işlem için özgün verileri içeren bir harita.

Sözdizimi

CAtlMap<
   HROW hRow,
   Storage* pData
>
m_mapCachedData;

Parametreler

hRow
Verilerin satırlarını işle.

pData
Önbelleğe alınacak verilerin işaretçisi. Veriler Depolama türündedir (kullanıcı kayıt sınıfı). Bkz. IRowsetUpdateImpl Sınıfında Depolama şablonu bağımsız değişkeni.

Ayrıca bkz.

OLE DB Sağlayıcı Şablonları
OLE DB Sağlayıcı Şablonu Mimarisi
Güncelleştirilebilir Sağlayıcı Oluşturma