{rightimage: dbe1.gif} The TCL module {link: /cvstrac/attach_get/283/dbedit.tcl attached below} implements a convenient graphical SQLite database editor. Tcl/Tk programs can make use of this module as follows: source dbedit.tcl dbedit::start db The "db" argument to "dbedit::start" specifies the SQLite database object that is loaded into the editor. The screenshots on this page show the dbedit module being used on the ExperiementalMailUserAgent. This widget is not the sort of thing that one should expose it to an end user in a shrink-wrapped program. But it is very handy as a debugging and development aid in Tcl/Tk programs that make use of SQLite. One useful strategy is to omit the menu option that launches this widget by default, so that end users cannot see or use it, but provide an {link: http://en.wikipedia.org/wiki/Easter_egg easter-egg} that inserts the menu entries for launching this widget (and possibly other debugging widgets such as ConsoleForTclTk). {clear} ---- {rightimage: dbe2.gif} Select the table to be edited or viewed from the optionmenu in the upper left-hand corner of the editor. You can cause a particular table to be in view when the widget is first launched using the -table option. For example. dbedit::start db -table msg Other useful options for initializing the display are described in a header comment in the source code. {clear} ---- {rightimage: dbe3.gif} If you click on any of the column labels, a pop-up menu appears with the options "Search", "Edit", and "Index". If you select "Index" then list of all distinct values for that column appears at the left. {clear} ---- {rightimage: dbe4.gif} Click on any of the values in the "index" and the next entry in the table with that value appears at the right. {clear} ---- Sometimes you might have a column that contains more data than will comfortably fit in the space provided. An example of this is the "blob" table of the ExperimentalMailUserAgent database - the table that contains the complete text of email messages. As you can see, the text does not all fit in the "data" column. {clear} {rightimage: dbe6.gif} For more convenient editing, choose the "Edit" option from the "data" column pop-up menu... {clear} ---- {rightimage: dbe7b.gif} A multi-line text editor appears that makes editing large fields much more convenient. {clear} ---- {rightimage: dbe8.gif} Type some text into the "Pattern" entry box at the top then select the "Search" option on a column label to advance to the new row that contains the pattern text.