Hello, Thanks for your reply. I changed my code again:
1) rc = sqlite3_open(dbPath, &db); --> SQLITE_OK 2) rc = sqlite3_exec(db, "DROP TABLE IF EXISTS nosuchtable;", testCallbackPrint, 0, &zErrMsg); 3) rc = sqlite3_prepare_v2(db, "PRAGMA journal_mode=WAL;", 24, &stmt, NULL); --> SQLITE_OK 4) rc = sqlite3_step(stmt); --> SQLITE_DONE 5) rc = sqlite3_exec(db, "DROP TABLE IF EXISTS nosuchtable;", testCallbackPrint, 0, &zErrMsg); 6) txt = sqlite3_column_text (stmt, 0); --> returns an empty string 7) rc = sqlite3_finalize(stmt); --> SQLITE_OK 8) rc = sqlite3_close(db); --> SQLITE_OK Repeated the same steps with 3) rc = sqlite3_prepare_v2(db, "PRAGMA journal_mode;", 24, &stmt, NULL); --> SQLITE_OK To my knowledge, at line 4 SQLITE_ROW instead of SQLITE_DONE should be returned. "These routines may only be called when the most recent call to sqlite3_step() has returned SQLITE_ROW and neither sqlite3_reset() nor sqlite3_finalize() have been called subsequently." It looks as if all PRAGMA instructions are completely ignored, since the query for the status of the JOURNAL_MODE returns no result. Is it possible that I have turned off PRAMAs by anything or something is missing, so PRAMAs can run? Thanks for your help -----Original Message----- From: sqlite-users-bounces at mailinglists.sqlite.org [mailto:sqlite-users-boun...@mailinglists.sqlite.org] On Behalf Of Simon Slavin Sent: Donnerstag, 16. April 2015 17:56 To: General Discussion of SQLite Database Subject: Re: [sqlite] Problems with pragma journal_mode On 16 Apr 2015, at 2:33pm, Janke, Julian <julian.janke at capgemini.com> wrote: > rc = sqlite3_step(stmt); > --> returns SQLITE_DONE After the above two lines, print the value returned by sqlite3_column_text(stmt, 0) I'm not good at C off the top of my head but I think it's something like ----------------- const unsigned char * theText; [...] rc = sqlite3_prepare_v2(db, "PRAGMA journal_mode=WAL;", 24, &stmt, NULL); rc = sqlite3_step(stmt); theText = sqlite3_column_text (stmt, 0); printf ("text returned: %s", theText); rc = sqlite3_finalize(stmt); ----------------- Hope if I got it wrong someone else will tell you. By the way, you can also check the values returned from sqlite3_finalize() and sqlite3_close() since they can tell you useful things if something went wrong. Simon. _______________________________________________ sqlite-users mailing list sqlite-users at mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users ________________________________ Firma: Capgemini Deutschland GmbH Aufsichtsratsvorsitzender: Antonio Schnieder ? Gesch?ftsf?hrer: Dr. Michael Schulte (Sprecher) ? Jost F?rster ? Dr. Peter Lempp ? Dr. Volkmar Varnhagen Amtsgericht Berlin-Charlottenburg, HRB 98814 This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.