Hi,

Mattias Gaertner has kindly included a new tool which I started in Lazarus:

The Lazarus Data Desktop.

It can be found in subversion under tools/lazdatadesktop

Some preliminary screenshots can be found on 
http://www.freepascal.org/~michael/lazdde

The idea of this tool is to be able to help you create and maintain databases
for use with your lazarus projects. Additionally, it maintains a 'Data 
dictionary':

This is an old idea from the early Delphi days (revived in Delphi for PHP): 
store
all relevant TField properties in a data dictionary and load them whenever data 
from
a database is shown. The data desktop can be used to maintain the data 
dictionaries,
it can reverse-engineer a database and create an initial data dictionary.

Current list of features:
- Connects to DBF, Oracle, Interbase, Mysql (4, 4.1 and 5), PostgreSQL, SQLite3 
and 
  any ODBC supported database. (it uses TDBF and SQLDB to do this)
- Full editing of data dictionary. Data dictionary can be stored to ini files or
  to one of the supported databases.
- Generate DDL (Data Definition Language) statements from the data dictionary
  as well a DML statements. Basically; you can create SQL statements for CREATE 
TABLE, SELECT, 
  INSERT, DELETE and UPDATE operations.
- Browse database structure.
- Browse (and modify) table data. (all engines)
- Execute SQL statements on SQL-based databases. 
  Result is shown, query history is maintained.  Query statements can be loaded 
from disc.

Planned features:

In the data dictionary:
- Components for run-time application of data dictionary. (the code is there, 
all that is needed
  is a wrapper)
- IDE integration, so the data dictionary can be applied to persistent fields.
- Store datadictionary in XML.

In the database maintainer:
- SQL script executor. The SQLDB TSQLScript component will be used for this.
- Export of query results. (Currently only XML is planned)
- Database comparer. As a second step: generate update code.
- Support for defining and viewing table indexes is partially implemented.
- Simple OOP Class generator which can load data from the tables; 
  A mini-mini OPF, partially implemented, not yet included. 
  Basically, based on a table "Person" it will create code for a class "TPerson"
  with published properties which are loaded from the "Person" table fields. 
The code
  to do the loading is also generated.
- Any ideas of users that are considered useful.

The idea is that this tool assists in every possible way the development of 
database applications
with Lazarus.

It should compile with the latest FPC from Subversion, but should also
compile with the 2.1.5 branch, in which case you should disable the use
of the SQLIte3Connection (it is new and not backported to the 2.2 fixes branch).
It should work on all platforms that Lazarus supports.

I would very much appreciate feedback on this tool, any help is also welcome.

Michael.

_________________________________________________________________
     To unsubscribe: mail [EMAIL PROTECTED] with
                "unsubscribe" as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to