So I make up for it by using an 'exec' which executes only the first command, and by hashing the command so that tampering with it would make it fail the hash.
AFAIK sqlite3_exec will hapilly prepare and run more than one statements in a row. I use it all the time.
But there's no reason you'd have to use exec just because you're passing a string. You can still use _prepare, _step, _finalize if you find it convenient, you just use it on a string which has the completed command in.
Yes it was confusing on my part saying so without details. In my wrapper I offer _SQLite_Exec wrapping sqlite3_exec for simple "dry" statements like setting pragmas and such. For actual queries (i.e. returning results), I use internally _prepare, _step and optionally _finalize, all wrapped into higher-level interface. For my advanced users these APIs are also available as separate functions (but not any _bind). But the fact is that most users here have hard time getting how SQL works at all, so keeping it simple is good enough. I even have wrappers like _SQLite_GetTable2D for returning a whole ready-to-use result array.
I hadn't known its removal was even being considered.
Not by the dev team AFAIK but the idea has been expressed several times that it was an obsolote, useless API we should get rid of.
_______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users