User: hr      
Date: 2007-11-01 14:51:08+0000
Modified:
   dba/connectivity/source/drivers/odbc/OPreparedStatement.cxx

Log:
 INTEGRATION: CWS dba24b (1.43.88); FILE MERGED
 2007/09/28 11:22:37 oj 1.43.88.2: RESYNC: (1.43-1.44); FILE MERGED
 2007/08/31 06:09:26 oj 1.43.88.1: #145282# not initialized var

File Changes:

Directory: /dba/connectivity/source/drivers/odbc/
=================================================

File [changed]: OPreparedStatement.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/connectivity/source/drivers/odbc/OPreparedStatement.cxx?r1=1.44&r2=1.45
Delta lines:  +6 -5
-------------------
--- OPreparedStatement.cxx      2007-09-26 14:30:18+0000        1.44
+++ OPreparedStatement.cxx      2007-11-01 14:51:05+0000        1.45
@@ -104,9 +104,9 @@
 OPreparedStatement::OPreparedStatement( OConnection* _pConnection,const 
TTypeInfoVector& _TypeInfo,const ::rtl::OUString& sql)
        :OStatement_BASE2(_pConnection)
        ,m_aTypeInfo(_TypeInfo)
+    ,numParams(0)
        ,boundParams(NULL)
        ,m_bPrepared(sal_False)
-
 {
        m_sSqlStatement = sql;
        try
@@ -661,7 +661,7 @@
        OSL_ENSURE(m_aStatementHandle,"StatementHandle is null!");
        // Get the number of parameters
        numParams = 0;
-       N3SQLNumParams (m_aStatementHandle,(short*)&numParams);
+       N3SQLNumParams (m_aStatementHandle,&numParams);
 
        // There are parameter markers, allocate the bound
        // parameter objects
@@ -696,7 +696,7 @@
        // Sanity check the parameter number
 
        if ((index >= 1) &&
-               (index <= numParams))
+               (index <= numParams) && bufLen > 0 )
        {
                b = boundParams[index - 1].allocBindDataBuffer(bufLen);
        }
@@ -979,6 +979,7 @@
 
 void OPreparedStatement::FreeParams()
 {
+    numParams = 0;
        delete [] boundParams;
        boundParams = NULL;
 }
@@ -1019,11 +1020,11 @@
 {
        if(!isPrepared())
        {
-               m_bPrepared = sal_True;
                OSL_ENSURE(m_aStatementHandle,"StatementHandle is null!");
                ::rtl::OString 
aSql(::rtl::OUStringToOString(m_sSqlStatement,getOwnConnection()->getTextEncoding()));
                SQLRETURN nReturn = 
N3SQLPrepare(m_aStatementHandle,(SDB_ODBC_CHAR *) 
aSql.getStr(),aSql.getLength());
                
OTools::ThrowException(m_pConnection,nReturn,m_aStatementHandle,SQL_HANDLE_STMT,*this);
+        m_bPrepared = sal_True;
                initBoundParam();
        }
 }




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to