SQLite Forum

Novice question concerning tcl sqlite and eval options and reusing prepared statements
Login
I've used only the C API and CLI in the past and am trying to use the Tcl API now and am a bit confused about the concept of reusing prepared statements in Tcl API.

In the documentation, the form of eval is:
dbcmd  eval  ?options?  sql   ?array-name?  ?script?

The only option I saw was -withoutnulls.  If there are others, would you please tell me where their documentation can be located?

Regarding the caching of prepared statements, how is a prepared statement reset and new values of arguments/parameters bound?  I understand that regular Tcl substitution will handle the binding but I don't understand how using eval again will reuse a query previously run using eval as opposed to just creating a new one altogether; because eval sort of does it all--prepares, binds(or already bound by Tcl substitution before passed to the command), executes, and steps.

Also, is there any reason to use the TDBC extension?  I was reading over NadKarni's book on Tcl and see that in TDBC the prepared statement appears to be stored in a variable, if there are variable parameters then they are passed at execution of the statement which is coded explicitly.  Other than perhaps that, I don't see what it adds over the methods documented on the SQLite Tcl API documentation.

Thank you.