53 lines
950 B
C++
53 lines
950 B
C++
///////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Copyright (c) 1998, Microsoft Corp. All rights reserved.
|
|
//
|
|
// FILE
|
|
//
|
|
// rowset.cpp
|
|
//
|
|
// SYNOPSIS
|
|
//
|
|
// This file defines the class Rowset.
|
|
//
|
|
// MODIFICATION HISTORY
|
|
//
|
|
// 02/20/1998 Original version.
|
|
// 04/21/1998 Get rid of unnecessary row assignment in moveNext().
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#include <ias.h>
|
|
#include <rowset.h>
|
|
|
|
bool Rowset::moveNext()
|
|
{
|
|
_com_util::CheckError(releaseRow());
|
|
|
|
DBCOUNTITEM numRows = 0;
|
|
|
|
HROW* pRow = &row;
|
|
|
|
HRESULT hr = rowset->GetNextRows(NULL, 0, 1, &numRows, &pRow);
|
|
|
|
_com_util::CheckError(hr);
|
|
|
|
return hr == S_OK && numRows == 1;
|
|
}
|
|
|
|
HRESULT Rowset::releaseRow() throw ()
|
|
{
|
|
if (row != NULL)
|
|
{
|
|
HRESULT hr = rowset->ReleaseRows(1, &row, NULL, NULL, NULL);
|
|
|
|
row = NULL;
|
|
|
|
return hr;
|
|
}
|
|
|
|
return S_OK;
|
|
}
|
|
|
|
|