diff options
author | Rüdiger Timm <rt@openoffice.org> | 2003-12-01 09:48:57 +0000 |
---|---|---|
committer | Rüdiger Timm <rt@openoffice.org> | 2003-12-01 09:48:57 +0000 |
commit | 210bf123cfe3821c1d07271f76b1642fad9e18db (patch) | |
tree | fac2a459f060b72d6446e0294041f776dec8a696 /connectivity/source | |
parent | ec95c8e1873f5e35178cca28d97473685e19e4ab (diff) |
INTEGRATION: CWS geordi2q10 (1.36.66); FILE MERGED
2003/11/28 09:38:59 rt 1.36.66.1: #111934#: join CWS dba01pp1
Diffstat (limited to 'connectivity/source')
-rw-r--r-- | connectivity/source/drivers/odbc/OPreparedStatement.cxx | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/connectivity/source/drivers/odbc/OPreparedStatement.cxx b/connectivity/source/drivers/odbc/OPreparedStatement.cxx index 37dd5f00d1e3..9098554e6cbd 100644 --- a/connectivity/source/drivers/odbc/OPreparedStatement.cxx +++ b/connectivity/source/drivers/odbc/OPreparedStatement.cxx @@ -2,9 +2,9 @@ * * $RCSfile: OPreparedStatement.cxx,v $ * - * $Revision: 1.36 $ + * $Revision: 1.37 $ * - * last change: $Author: vg $ $Date: 2003-05-22 10:50:30 $ + * last change: $Author: rt $ $Date: 2003-12-01 10:48:57 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -337,7 +337,8 @@ sal_Int32 SAL_CALL OPreparedStatement::executeUpdate( ) throw(SQLException, Run void SAL_CALL OPreparedStatement::setString( sal_Int32 parameterIndex, const ::rtl::OUString& x ) throw(SQLException, RuntimeException) { - setParameter(parameterIndex,DataType::CHAR,x.getLength(),(void*)&x); + ::rtl::OString aString(::rtl::OUStringToOString(x,getOwnConnection()->getTextEncoding())); + setParameter(parameterIndex,DataType::CHAR,aString.getLength(),(void*)&x); } // ------------------------------------------------------------------------- @@ -415,9 +416,17 @@ void OPreparedStatement::setParameter(sal_Int32 parameterIndex,sal_Int32 _nType, checkParameterIndex(parameterIndex); sal_Int32 nRealSize = _nSize; SQLSMALLINT fSqlType = static_cast<SQLSMALLINT>(OTools::jdbcTypeToOdbc(_nType)); - if( fSqlType == SQL_CHAR || fSqlType == SQL_VARCHAR || - fSqlType == SQL_DECIMAL || fSqlType == SQL_NUMERIC) - ++nRealSize; + switch(fSqlType) + { + case SQL_CHAR: + case SQL_VARCHAR: + case SQL_DECIMAL: + case SQL_NUMERIC: + ++nRealSize; + break; + default: + break; + } sal_Int8* bindBuf = allocBindBuf(parameterIndex, nRealSize); @@ -579,7 +588,8 @@ void SAL_CALL OPreparedStatement::setObjectWithInfo( sal_Int32 parameterIndex, c { ::rtl::OUString sStr; x >>= sStr; - setParameter(parameterIndex,sqlType,sStr.getLength(),&sStr); + ::rtl::OString aString(::rtl::OUStringToOString(sStr,getOwnConnection()->getTextEncoding())); + setParameter(parameterIndex,sqlType,aString.getLength(),&aString); } else setNull(parameterIndex,sqlType); |