Small. Fast. Reliable.
Choose any three.
dbe1.gif The TCL module 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 easter-egg that inserts the menu entries for launching this widget (and possibly other debugging widgets such as ConsoleForTclTk).


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.



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.

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.

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.
dbe6.gif For more convenient editing, choose the "Edit" option from the "data" column pop-up menu...

dbe7b.gif A multi-line text editor appears that makes editing large fields much more convenient.

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.

Attachments:

  • dbe1.gif 6134 bytes added by drh on 2006-Aug-21 17:47:07 UTC.
    Screen shot #1
  • dbe2.gif 6891 bytes added by drh on 2006-Aug-21 17:48:12 UTC.
    Screen shot #2
  • dbe3.gif 6469 bytes added by drh on 2006-Aug-21 17:48:30 UTC.
    Screen shot #3
  • dbe4.gif 9470 bytes added by drh on 2006-Aug-21 17:48:45 UTC.
    Screen shot #4
  • dbe5.gif 4941 bytes added by drh on 2006-Aug-21 17:49:00 UTC.
    Screen shot #5
  • dbe6.gif 5340 bytes added by drh on 2006-Aug-21 17:49:27 UTC.
    Screen shot #6
  • dbe8.gif 6654 bytes added by drh on 2006-Aug-21 17:50:20 UTC.
    Screen shot #8
  • dbedit.tcl 16905 bytes added by drh on 2006-Aug-21 17:50:56 UTC.
    Source code
  • dbe7b.gif 10822 bytes added by drh on 2006-Aug-22 11:56:56 UTC.
    Screen shot #7