package require Tk
package require BWidget
load tclsqlite3.dll
ProgressBar .p -type infinite -variable value
pack .p
# connect to a database
sqlite db ":memory:"
# add data to your database
db eval "INSERT ..."
# register the callback that which will be invoked every $opcodeNumber opcodes
# test to find the best opcodeNumber for your application
# without the update-command an error (callback requested query abort) occurs
set opcodeNumber 1000
db progress $opcodeNumber {
set value 1
update
}
db eval $longRunningQueryBecause there is no generic way to determine how long the query will run, this example uses an infinite progress bar[EE] The reason that the error occurs without the update is documented at http://www.sqlite.org/c3ref/progress_handler.html
, which states: If the progress callback returns non-zero, the operation is interrupted. This feature can be used to implement a "Cancel" button on a GUI progress dialog box.In general, update is rarely the correct solution. Replacing it with return 0 should probably work.
