On 01/22/2015 11:53 AM, Sairam Gaddam wrote:
I have one doubt regarding sqlite code.
I have 2 programs-one with sqlite3_exec() included in the code and in other
it is not included.I included those files which are zmain.c and zmain1.c
respectively.
First i created a database and added a table "em" and added some contents
to it,then i executed and prepared the sqlite select query.
I added "printf("result");" in the "case op_resultrow" of the function
sqlite3vdbeexec().
Here when i executed zmain.c,
sqlite3_prepare_v2(db, sql, strlen(sql) + 1, &selectStmt, NULL);
the above statement didn't print anything.
OUTPUT:
database opened successfully
result
result
result
result
Operation done successfully
Before
Afterprep
(clearly there is nothing between before and afterprep)
But when i commented the sqlite3_exec() in zmain1.c
due to sqlite_prepare_v2() function,the program somehow entered
sqlite3vdbeexec() and printed what i gave in my printf statement.
OUTPUT:
database opened successfully
Operation done successfully
Before
result
result
Afterprep
(clearly there are some output between before and afterprep)
My doubt is why the function call sqlite3_prepare_v2() called
sqlite3vdbeexec in second case and why not in first program.
This mailing list strips attachments. So you will need to upload code to
pastebin or similar or inline it in the mail so that we can see it.
The first call to sqlite3_prepare_v2() needed to load the database
schema into memory. It does this by executing a regular "SELECT ..."
statement on the sqlite_master table, which involves calling
sqlite3VdbeExec(). Via sqlite3_exec(), as it happens.
Dan.
_______________________________________________
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