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