version 0.1.9
[fms.git] / src / db / sqlite3statement.cpp
index 538ed06..683e771 100644 (file)
@@ -15,6 +15,7 @@ Statement::Statement()
        m_parametercount=0;\r
        m_resultcolumncount=0;\r
        m_rowreturned=false;\r
+       m_lastinsertrowid=-1;\r
 }\r
 \r
 Statement::Statement(sqlite3_stmt *statement)\r
@@ -23,6 +24,7 @@ Statement::Statement(sqlite3_stmt *statement)
        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
        if(m_statement)\r
        {\r
@@ -36,6 +38,7 @@ Statement::Statement(const Statement &rhs)
        m_parametercount=0;\r
        m_resultcolumncount=0;\r
        m_rowreturned=false;\r
+       m_lastinsertrowid=-1;\r
        *this=rhs;\r
 }\r
 \r
@@ -54,6 +57,7 @@ Statement::~Statement()
                }\r
        }\r
        */\r
+\r
 }\r
 \r
 const bool Statement::Bind(const int column)\r
@@ -130,9 +134,10 @@ const bool Statement::Bind(const int column, const std::string &value)
                \r
                //ZThread::Guard<ZThread::Mutex> g(DB::instance()->m_mutex);\r
                PThread::Guard g(DB::Instance()->m_mutex);\r
-               m_boundtext.push_back(std::vector<char>(value.begin(),value.end()));\r
+               //m_boundtext.push_back(std::vector<char>(value.begin(),value.end()));\r
                //if(sqlite3_bind_text(m_statement,column+1,text,value.size(),NULL)==SQLITE_OK)\r
-               if(sqlite3_bind_text(m_statement,column+1,&m_boundtext[m_boundtext.size()-1][0],m_boundtext[m_boundtext.size()-1].size(),NULL)==SQLITE_OK)              \r
+               //if(sqlite3_bind_text(m_statement,column+1,&(m_boundtext[m_boundtext.size()-1][0]),(m_boundtext[m_boundtext.size()-1]).size(),NULL)==SQLITE_OK)                \r
+               if(sqlite3_bind_text(m_statement,column+1,value.c_str(),value.size(),SQLITE_TRANSIENT)==SQLITE_OK)\r
                {\r
                        return true;\r
                }\r
@@ -153,7 +158,7 @@ const bool Statement::Bind(const int column, const void *data, const int length)
        {\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,NULL)==SQLITE_OK)\r
+               if(sqlite3_bind_blob(m_statement,column+1,data,length,SQLITE_TRANSIENT)==SQLITE_OK)\r
                {\r
                        return true;\r
                }\r