From d0dbb7bd114e82c39121266022b60f037e91ec6a Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Fri, 23 Sep 2005 10:41:49 +0000 Subject: INTEGRATION: CWS dba201b (1.58.90); FILE MERGED 2005/09/21 09:03:21 oj 1.58.90.2: RESYNC: (1.58-1.59); FILE MERGED 2005/07/11 13:56:42 fs 1.58.90.1: merging CWS dba201a into dba201b --- connectivity/source/drivers/odbc/OResultSet.cxx | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'connectivity') diff --git a/connectivity/source/drivers/odbc/OResultSet.cxx b/connectivity/source/drivers/odbc/OResultSet.cxx index af968e4fbd5e..226bc361ccb2 100644 --- a/connectivity/source/drivers/odbc/OResultSet.cxx +++ b/connectivity/source/drivers/odbc/OResultSet.cxx @@ -4,9 +4,9 @@ * * $RCSfile: OResultSet.cxx,v $ * - * $Revision: 1.59 $ + * $Revision: 1.60 $ * - * last change: $Author: rt $ $Date: 2005-09-08 06:35:25 $ + * last change: $Author: hr $ $Date: 2005-09-23 11:41:49 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -1167,14 +1167,17 @@ sal_Bool SAL_CALL OResultSet::moveToBookmark( const Any& bookmark ) throw( SQLE { SQLRETURN nReturn = N3SQLSetStmtAttr(m_aStatementHandle,SQL_ATTR_FETCH_BOOKMARK_PTR,m_aBookmark.getArray(),SQL_IS_POINTER); // SQL_LEN_BINARY_ATTR(aBookmark.getLength()) - m_nCurrentFetchState = N3SQLFetchScroll(m_aStatementHandle,SQL_FETCH_BOOKMARK,0); - OTools::ThrowException(m_pStatement->getOwnConnection(),m_nCurrentFetchState,m_aStatementHandle,SQL_HANDLE_STMT,*this); - TBookmarkPosMap::iterator aFind = m_aPosToBookmarks.find(m_aBookmark); - if(aFind != m_aPosToBookmarks.end()) - m_nRowPos = aFind->second; - else - m_nRowPos = -1; - return m_nCurrentFetchState == SQL_SUCCESS || m_nCurrentFetchState == SQL_SUCCESS_WITH_INFO; + if ( SQL_INVALID_HANDLE != nReturn && SQL_ERROR != nReturn ) + { + m_nCurrentFetchState = N3SQLFetchScroll(m_aStatementHandle,SQL_FETCH_BOOKMARK,0); + OTools::ThrowException(m_pStatement->getOwnConnection(),m_nCurrentFetchState,m_aStatementHandle,SQL_HANDLE_STMT,*this); + TBookmarkPosMap::iterator aFind = m_aPosToBookmarks.find(m_aBookmark); + if(aFind != m_aPosToBookmarks.end()) + m_nRowPos = aFind->second; + else + m_nRowPos = -1; + return m_nCurrentFetchState == SQL_SUCCESS || m_nCurrentFetchState == SQL_SUCCESS_WITH_INFO; + } } return sal_False; } -- cgit