DBEdit is a tool for database exploration and editing based on information in EOModel files. Fetches can be done for all or qualified rows for a particular entity, and the results can be sorted, printed, exported to file, edited, and saved back to the database. Rows can be deleted or added, and relationships can be followed to display the related rows. A raw SQL window is provided to execute arbitrary SQL statements (and see the results if any).

DBEdit should work with EOF 2.x, 3.x, 4.x, and 5.x; binaries are provided for MacOS X 10.x, MacOS X Server 1.2, YellowBox/NT, and OPENSTEP. EOF or WebObjects is also required.

DBEdit was written by Carl Lindberg with some help (i.e.: nagging for more features) from Doug McClure. It is a rewrite with added functionality of an old, private EOF 1.1 application written by Jason Jobe.

Note: The Java 1.5 Cocoa bridge does not seem to work with the Objective-C EOF frameworks at this time, so keep Java Preferences.app set at 1.4.2 if you want to use DBEdit or EOModeler.


Check out this screen shot to see a model with a qualifier, a results window with relationship popup, and row editing inspector. Here is a larger version.

Check out this screen shot to see a model with qualifier bindings, a raw SQL window, and an export panel. Here is a larger version.


DBEdit is freeware. Please see our About page for more information.


We are always interested in bug reports, suggestions, comments, or any other feedback on DBEdit. Send feedback to here.


1.6, March 2006

  • Built as universal binary for use on Intel Macs.
  • When using DBEditGroup files, modified connection dictionaries are saved.
  • JVM version specified as "1.3+", so it should use 1.4.2 if present. Previously DBEdit would always use 1.3.1 if available, preventing some newer JDBC drivers from working.
  • Worked around problems with Boolean attributes (Number attributes with a valueType of "c") and the Java Bridge on MacOS X 10.4 which previously prevented DBEdit from working. Reported by Brian Arthur.
  • Fixed long-standing validation bugs when using JDBC models that sometimes caused problems when saving to the database.
  • Fixed bug with prototypes and CLOB/BLOB attributes that could prevent fetching. Reported by Brian Arthur.

1.5, April 2004

  • New menu item to add another model to the current document (for prototype-only models that aren't otherwise referenced).
  • Main window now shows list of models as well as entities.
  • Model list can be saved as a .DBEditGroup file.
  • Export of data (CSV, tab-separated, and eoutil plist formats).
  • Table view data can be copied to the pasteboard as tab-delimited text and pasted into Excel.
  • Individual data cells can be selected/copied even if not editable.
  • Custom data types are now supported by using underlying string or data.
  • Ignores JDBC BLOB/CLOB attributes, since they are not supported by EOModeler's JDBCAdaptor and were causing problems.
  • Can now use NSData values in qualifiers by casting (i.e. attr = (NSData)'0xffff').
  • Refetch button works again.
  • Fixed an uncaught exception with multiple result sets in Sybase (we now just show the first set).
  • Fixed a bug with binary values and the ObjC Sybase adaptor.
  • Uses distinct when following many-to-many relationships for multiple rows. (suggested by Stéphane Corthésy)
  • List of entities now sorted case insensitively.

1.4, April 2002

  • Added a vertically oriented row inspector for easier viewing of large tables. For entity fetches, you can even edit in this view.
  • Preferences now use 'com.rubicode.DBEdit' on MacOS X.
  • Added a preference for bolding primary key values columns in fetch results.
  • Added a preference for italicizing non-class properties columns in fetch results.
  • Added a preference to specify the font used in displaying data.
  • Much improved formatting for number fields.
  • Added support for distinct and non-deep fetches.
  • Disables shared editing contexts; fixes a couple DBEdit bugs.
  • Added a workaround to an Apple bug that prevented tabbing between cells under MacOS X.
  • Documents should not get dirty spuriously under MacOS X as much.
  • Added a workaround to an Apple bug that fixed a table printing issue.
  • Open in EOModeler works from fetch results windows.
  • Added workarounds for EOF 2.1 bugs so we work on OPENSTEP systems that haven't upgraded to 2.2.
  • Added new MacOS X icon.

1.3, December 2001

  • Fix for crasher under MacOS X 10.1.
  • Support for named fetch specifications.
  • Support for qualifier bindings.
  • Preference to automatically search for related models in main model's directory.
  • Puts model name in title of raw SQL window.
  • Shows selected row count in data window.
  • No longer auto-select first entity when opening new model window; sometimes caused unreferenced model problems.
  • Page setup panel was ignoring changes.
  • Fixes bugs with models that use EOJDBCPrototypes

1.2, August 2001

  • Support for MacOS X 10.0.
  • Support for WebObjects 5.0.
  • Support for JDBCAdaptor (including alpha version in WO 4.5).
  • Following relationships now works on all selected rows.
  • Command-Shift-E now executes fetch.
  • Added timing of raw SQL executions.
  • Query text made active after adding key or operator.
  • Fixed exception following successful save.
  • Fixed intermittent crasher when closing windows.
  • Fixed bug with rightmost column being sized too small.
  • Cascade deletes work again.

1.1, February 2001

  • Added Raw SQL execution window.
  • Added basic history for qualifiers.
  • Fetch limit preference.
  • Date & Number format preferences.
  • Easier date specification in qualifiers.
  • Now attempts to set foreign keys on rows added to relationships.
  • Fix for occasional validation bug with new rows.
  • Fix for rare crasher on Windows (AppKit bug).

1.0, July 2000

  • Initial release.

To Do

These are features that have been requested for inclusion in future updates. Some of these are likely to be implemented, others likely never will be.

  • In-memory qualifier on result windows.
  • Model-Entity-Relationship inspector.
  • Saved queries with binding capability.