> As I stated in my previous email, I used SQLight Designer to view the > database, which application would you recommend to view my database?
This question was asked million times on this list. Please search the archives. Pavel On Fri, Jun 22, 2012 at 4:34 AM, Arbol One <arbol...@programmer.net> wrote: > Thanks for the prompt response. > As I stated in my previous email, I used SQLight Designer to view the > database, which application would you recommend to view my database? Please > keep in mind that I am not able to purchase a program, so it needs to be a > free trial or a freeware. > On the other hand, as far as you can see, should the code I have shown open > a database, create a table and then add data to the table? > > Thanks! > > ----- Original Message ----- > From: Pavel Ivanov > Sent: 06/21/12 01:08 PM > To: General Discussion of SQLite Database > Subject: Re: [sqlite] C++ programming - int sqlite3_prepare_v2() question > > > Also, I have downloaded and installed 'SQLight Designer' and when opening > the database file, I have just created, all that I can see is the words: > SQLite format 3. Apparently you open your database file in some plain text > editor instead of in something that understands what SQLite database is. > Pavel On Thu, Jun 21, 2012 at 12:22 PM, Arbol One <arbol...@programmer.net> > wrote: > namespace jme { > class Runner : public Gtk::Window { > private: > > jme::Exception* e; // Exception handler > sqlite3 *db; // Data Base > > sqlite3_stmt* stmt; // SQL statement > Glib::ustring dbName; // db name > > Glib::ustring sName; // my name > Glib::ustring sAddress; // my address > > Glib::ustring vfs; // MSWIN Identifier > int rc; // return code > int age; // > my age > // SQL statement > Glib::ustring dbdata; > Glib::ustring > create_table; > public: > Runner(); > ~Runner(); > void OpenDB(); > void > CreateTable(); > void AddData(); > }; > } > void jme::Runner::CreateTable(){ > > rc = sqlite3_prepare_v2( > > db, /* Database handle */ > create_table.c_str() , /* SQL statement, UTF-8 > encoded */ > create_table.length(), /* Maximum length of zSql in bytes. */ > > &stmt, /* OUT: Statement handle */ > NULL /* OUT: Pointer to unused portion > of zSql */ > ); > if(rc != SQLITE_OK) { > sqlite3_close(db); > std::cout << > "error prepare_v2: " << rc << std::endl; > exit(-2); > } > rc = > sqlite3_step(stmt); > if(rc != SQLITE_DONE) { > sqlite3_close(db); > > std::cout << "error sqlite3_step: " << rc << std::endl; > exit(-3); > } > > sqlite3_finalize(stmt); > } > void jme::Runner::AddData(){ > rc = > sqlite3_prepare_v2( > db, /* Database handle */ > dbdata.c_str() , /* SQL > statement, UTF-8 encoded */ > dbdata.length(), /* Maximum length of zSql in > bytes. */ > &stmt, /* OUT: Statement handle */ > NULL /* OUT: Pointer to > unused portion of zSql */ > ); > if(rc != SQLITE_OK) { > .... > } > rc = > sqlite3_step(stmt); > if(rc != SQLITE_DONE) { > .... > } > > sqlite3_finalize(stmt); > } > void jme::Runner::OpenDB() > { > rc = sqlite3_open_v2(dbName.c_str(), > &db, SQLITE_OPEN_READWRITE | > SQLITE_OPEN_CREATE, > NULL); > if(rc != SQLITE_OK) { > .... > } > > jme::Runner::Runner() { > dbName = "sqliteTest.sql"; > sName = "ArbolOne"; > > sAddress = "1 Parkway Rd"; > vfs = "win32"; > age = 22; > dbdata = "INSERT > INTO friend VALUES('Jamiil', '49 New Bridge', '49')"; > create_table = > "CREATE TABLE friend (name TEXT, address TEXT, age INT)"; > try { > > jme::gnu_io f; > f.deleteFile(dbName); > } catch(jme::Exception e) { > > std::cout << e.what() << std::endl; > } > OpenDB(); > CreateTable(); > > AddData(); > > } > jme::Runner::~Runner(){ > sqlite3_close(db); > cout << > "Good bye!" << endl; > } > int main(int argc, char *argv[]) { > try { > > Gtk::Main kit(argc, argv); > jme::Runner dbtest; > Gtk::Main::run(dbtest); > > } catch(jme::Exception& x) { > x.Display(); > } > return 0; > } > This is > what I have done so far, and following your advice I hade added > 'sqlite3_finalize(stmt)' each time I am done with it. Al > so, I have downloaded and installed 'SQLight Designer' and when opening the > database file, I have just created, all that I can see is the words: SQLite > format 3. > Come on you folk, you have more experience than me using SQLite, > pich in!. What else do I need to do? > > TIA > > void > jme::Runner::CreateTable(){ > rc = sqlite3_prepare_v2( > db, /* Database > handle */ > create_table.c_str() , /* SQL statement, UTF-8 encoded */ > > create_table.length(), /* Maximum length of zSql in bytes. */ > &stmt, /* > OUT: Statement handle */ > NULL /* OUT: Pointer to unused portion of zSql */ > > ); > if(rc != SQLITE_OK) { > sqlite3_close(db); > std::cout << "error > prepare_v2: " << rc << std::endl; > exit(-2); > } > rc = sqlite3_step(stmt); > > if(rc != SQLITE_DONE) { > sqlite3_close(db); > std::cout << "error > sqlite3_step: " << rc << std::endl; > exit(-3); > } > sqlite3_finalize(stmt); > > } > _______________________________________________ > 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 > _______________________________________________ > 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