領測軟件測試網
軟件測試技術門戶3hD!}`Ez6iv}*E"u'{/CwJpQLx*wx軟件測試技術門戶]$T#w zAEpIRowset->ReleaseRows( uRowsObtained, phRows, NULL, NULL, NULL );
%uha0l2AP6GTO2o(tpIAccessor->ReleaseAccessor( hAccessor, NULL );
軟件測試技術門戶a.u*r/b8T,^2k,g)`pIAccessor.Release( );
軟件測試技術門戶%oo/}-mk8k"e,UP9tpIRowset.Release( );
軟件測試技術門戶*p
|u_
O/[?w 軟件測試技術門戶K~-k3tcts1f4~讀操作也完成了,是不是仍然很簡單呢?下面我們再來看看最麻煩的二進制數據(text、ntext、image等)的讀寫。要實現BLOB數據的讀寫,我們需要一個輔助的類,定義如下:
h8MLV3Iv0sZ9?A!Vclass CSequentialStream : public ISequentialStream // BLOB 數據訪問類
Q*Tf.H+] lx{
^!E&qsFr~cpublic:
Ze,?7^D:j CSequentialStream( );
Bd/B|g+@}S virtual ~CSequentialStream( );
On1i^VD'o&A oN virtual BOOL Seek( ULONG uPosition );
軟件測試技術門戶6OH?Ua4l virtual BOOL Clear( );
1{s})M_-[Ue virtual ULONG GetLength( ) { return m_uBufferUsed; };
軟件測試技術門戶NEC6]`M\#YF virtual operator void* const( ) { return m_pBuffer; };
4|uT#~%u^;s&g t STDMETHODIMP_( ULONG ) AddRef( ) { return ++ m_uRefCount; };
軟件測試技術門戶o1N8a"F$OV.D/Z STDMETHODIMP_( ULONG ) Release( ) { ASSERT( m_uRefCount != 0U ); -- m_uRefCount; if( m_uRefCount == 0U ) { delete this; } return m_uRefCount; };
;mIn"p%mmk{Lr STDMETHODIMP QueryInterface( REFIID riid, LPVOID* ppv );
軟件測試技術門戶8Z8A(Ub)d STDMETHODIMP Read( void __RPC_FAR* pv, ULONG cb, ULONG __RPC_FAR* pcbRead );
軟件測試技術門戶"Qv"p_4BO STDMETHODIMP Write( const void __RPC_FAR* pv, ULONG cb, ULONG __RPC_FAR* pcbWritten );
軟件測試技術門戶R'DS#iD?void ResetPosition( ) { m_uPosition = 0U; };
軟件測試技術門戶f2NFb`8dPHRESULT PreAllocBuffer( ULONG uSize );
3Gt l^[*cKV[:l6jj(Rs b\S0Jvprivate:
軟件測試技術門戶L%`E"x_f^:M ULONG m_uRefCount; // reference count
軟件測試技術門戶+U*[a%~lN void* m_pBuffer; // buffer
%b`dgY?Ge U ULONG m_uBufferUsed; // buffer used
軟件測試技術門戶$Y ggN
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月