To display the progress of a longer [sqlite]-query you can use BWidget::ProgressBar (or ProgressDlg). 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 $longRunningQuery Because there is no generic way to determine how long the query will run, this example uses an infinite progress bar ---- The reason that the error occurs if you don't end your progress <>Example