version 0.3.23
[fms.git] / src / db / sqlite3statement.cpp
index 789afb1..31c6ea5 100644 (file)
@@ -9,63 +9,36 @@ namespace SQLite3DB
 \r
 std::map<sqlite3_stmt *, long> Statement::m_statementcount;\r
 \r
-Statement::Statement()\r
+Statement::Statement():m_statement(0),m_parametercount(0),m_resultcolumncount(0),m_rowreturned(false),m_lastinsertrowid(-1)\r
 {\r
-       m_statement=NULL;\r
-       m_parametercount=0;\r
-       m_resultcolumncount=0;\r
-       m_rowreturned=false;\r
-       m_lastinsertrowid=-1;\r
+\r
 }\r
 \r
-Statement::Statement(sqlite3_stmt *statement)\r
+Statement::Statement(sqlite3_stmt *statement):m_statement(statement),m_rowreturned(false),m_lastinsertrowid(-1)\r
 {\r
-       m_statement=statement;\r
        m_parametercount=sqlite3_bind_parameter_count(m_statement);\r
        m_resultcolumncount=sqlite3_column_count(m_statement);\r
-       m_rowreturned=false;\r
-       m_lastinsertrowid=-1;\r
-       \r
+\r
        if(m_statement)\r
        {\r
                m_statementcount[m_statement]++;\r
        }\r
 }\r
 \r
-Statement::Statement(const Statement &rhs)\r
+Statement::Statement(const Statement &rhs):m_statement(0),m_parametercount(0),m_resultcolumncount(0),m_rowreturned(false),m_lastinsertrowid(-1)\r
 {\r
-       m_statement=NULL;\r
-       m_parametercount=0;\r
-       m_resultcolumncount=0;\r
-       m_rowreturned=false;\r
-       m_lastinsertrowid=-1;\r
        *this=rhs;\r
 }\r
 \r
 Statement::~Statement()\r
 {\r
-       \r
        Finalize();\r
-       \r
-       /*\r
-       std::vector<char *>::iterator i;\r
-       for(i=textptrs.begin(); i!=textptrs.end(); i++)\r
-       {\r
-               if((*i))\r
-               {\r
-                       delete [] (*i);\r
-               }\r
-       }\r
-       */\r
-\r
 }\r
 \r
 const bool Statement::Bind(const int column)\r
 {\r
        if(Valid() && column>=0 && column<m_parametercount)\r
        {\r
-               //ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);\r
-               //PThread::Guard g(DB::Instance()->m_mutex);\r
                if(sqlite3_bind_null(m_statement,column+1)==SQLITE_OK)\r
                {\r
                        return true;\r
@@ -85,8 +58,6 @@ const bool Statement::Bind(const int column, const int value)
 {\r
        if(Valid() && column>=0 && column<m_parametercount)\r
        {\r
-               //ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);\r
-               //PThread::Guard g(DB::Instance()->m_mutex);\r
                if(sqlite3_bind_int(m_statement,column+1,value)==SQLITE_OK)\r
                {\r
                        return true;\r
@@ -106,8 +77,6 @@ const bool Statement::Bind(const int column, const double value)
 {\r
        if(Valid() && column>=0 && column<m_parametercount)\r
        {\r
-               //ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);\r
-               //PThread::Guard g(DB::Instance()->m_mutex);\r
                if(sqlite3_bind_double(m_statement,column+1,value)==SQLITE_OK)\r
                {\r
                        return true;\r
@@ -127,8 +96,6 @@ const bool Statement::Bind(const int column, const std::string &value)
 {\r
        if(Valid() && column>=0 && column<m_parametercount)\r
        {\r
-               //ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);\r
-               //PThread::Guard g(DB::Instance()->m_mutex);\r
                if(sqlite3_bind_text(m_statement,column+1,value.c_str(),value.size(),SQLITE_TRANSIENT)==SQLITE_OK)\r
                {\r
                        return true;\r
@@ -148,8 +115,6 @@ const bool Statement::Bind(const int column, const void *data, const int length)
 {\r
        if(Valid() && column>=0 && column<m_parametercount)\r
        {\r
-               //ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);\r
-               //PThread::Guard g(DB::Instance()->m_mutex);\r
                if(sqlite3_bind_blob(m_statement,column+1,data,length,SQLITE_TRANSIENT)==SQLITE_OK)\r
                {\r
                        return true;\r
@@ -190,6 +155,7 @@ Statement &Statement::operator=(const Statement &rhs)
                m_parametercount=rhs.m_parametercount;\r
                m_resultcolumncount=rhs.m_resultcolumncount;\r
                m_rowreturned=rhs.m_rowreturned;\r
+               m_lastinsertrowid=rhs.m_lastinsertrowid;\r
 \r
                if(m_statement)\r
                {\r