On 2016/01/09 1:30 PM, Clemens Ladisch wrote: > Bart Smissaert wrote: >> I am interested to know from the statement string if the statement is >> invalid, row producing (could produce rows) or non row producing. > <http://www.sqlite.org/c3ref/column_count.html> says about > sqlite3_column_count(): > | Return the number of columns in the result set returned by the > | prepared statement. This routine returns 0 if pStmt is an SQL > | statement that does not return data (for example an UPDATE).
Indeed, but unless I am mistaken, that value is not available (in a meaningful sense anyway) upon compilation of the SQL statement, aka sqlite3_prepare(), but only after at least one sqlite3_step() occurred. It seems to me the OP needs to know whether output rows will happen BEFORE stepping. (I don't see a reason why or argue for it, just relaying what I think the OP intended with the question). It might be useful, some Pragmas (for instance) return values, some don't, and this may change in future, etc. For myself though, knowing whether output is produced or not is perfectly fine after stepping - and for that simply checking the return values from the sqlite functions is enough. See: https://www.sqlite.org/c3ref/step.html Cheers, Ryan