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 IRowsetUpdateImpl
tü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 HROW
depolama 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:
OLE DB Programcı Başvurusunun 6. Bölümü
Ayrıca, Sınıfın
RUpdateRowset
UpdatePV örneğinde nasıl kullanıldığını da görün
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