Just as a sanity check your code does work OK. I made it a standalone program.
#include <iostream> #include "sqlite3.h" using namespace std; class mySQLite3Class { private: //SQLite3 sqlite3* db; //SQLite3 string dbName; // Database name string apstr; // All Purpose String string sql_param_tblName; // Databese table Name parameters string stmtName; // SQL statement name public: void createDB(); void create_tblName(); void createDatabase(const string& s); void createTable(const string& s); mySQLite3Class(const string& s) { createDatabase(s); } }; void mySQLite3Class::createDatabase(const string& s) { int rc = sqlite3_open_v2(s.c_str(), &db, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL); if(rc != SQLITE_OK) { std::cout << rc << std::endl; } } void mySQLite3Class::createTable(const string& s) { sqlite3_stmt *stmt; int rc = sqlite3_prepare_v2(db, s.c_str(), s.length(), &stmt, NULL ); if(rc != SQLITE_OK) { std::cout << rc << std::endl;// error = 1 std::cout << sqlite3_errmsg(db) << std::endl; // er-msg = library routine called out of sequence } rc = sqlite3_step(stmt); if(rc != SQLITE_DONE) { std::cout << rc << endl; } sqlite3_finalize(stmt); } int main(int argc,char *argv[]) { string dbName = "001Database.sql"; string sql_param_tblName = "CREATE TABLE name(n_id INTEGER PRIMARY KEY, title TEXT, fname TEXT, mname TEXT, lname TEXT)"; mySQLite3Class *myDB = new mySQLite3Class(dbName); myDB->createTable(sql_param_tblName); return 0; } Michael D. Black Senior Scientist Advanced Analytics Directorate Advanced GEOINT Solutions Operating Unit Northrop Grumman Information Systems From: sqlite-users-boun...@sqlite.org [sqlite-users-boun...@sqlite.org] on behalf of Arbol One [arbol...@gmail.com] Sent: Monday, July 23, 2012 1:54 PM To: SqLite Subject: EXT :[sqlite] C++ - Creating Table Using SQLite version 3.7.8 amalgamation, under Win7 with MinGW, I compile the bellow program, but for some strange reason I am getting a runtime error when creating the table. I hope that one of you would be able to tell me what I am doing wrong. TIA === class mySQLite3Class { private: //SQLite3 sqlite3* db; //SQLite3 Glib::ustring dbName; // Database name Glib::ustring apstr; // All Purpose String Glib::ustring sql_param_tblName; // Databese table Name parameters Glib::ustring stmtName; // SQL statement name public: void createDB(); void create_tblName(); mySQLite3Class(const Glib::ustring& s){ createDatabase(s);} }; void mySQLite3Class::createDatabase(const Glib::ustring& s) { rc = sqlite3_open_v2(s.c_str(), &db, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL); if(rc != SQLITE_OK) { std::cout << rc << std::endl; } } void mySQLite3Class::createTable(const Glib::ustring& s){ rc = sqlite3_prepare_v2(db, s.c_str(), s.length(), &stmt, NULL ); if(rc != SQLITE_OK) { std::cout << rc << std::endl;// error = 1 std::cout << sqlite3_errmsg(db) << std::endl; // er-msg = library routine called out of sequence } rc = sqlite3_step(stmt); if(rc != SQLITE_DONE) { std::cout << rc << stdl; } sqlite3_finalize(stmt); } myClass{ private: mySQLite3Class* myDB; Glib::ustring sql_param_tblName; Glib::ustring dbName; public: myClass(); } myClass::myClass(){ dbName = "001Database.sql"; sql_param_tblName = "CREATE TABLE name(n_id INTEGER PRIMARY KEY, title TEXT, fname TEXT, mname TEXT, lname TEXT)"; myDB = new mySQLite3Class(dbName); myDB->createTable(sql_param_tblName); ==> // problem } _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users