Mar 292012
 

TMS Software recently released a new framework for Delphi and Databases that is really quite neat.

Using the framework, you can reduce a lot of SQL needed as well as insert/post/update situations needed by wrapping around your object with the framework, which then ties then to a database and table.

For example:

type

TPerson = class
private
  FId: integer;
  FLastName: string;
  FFirstName: string;
  FEmail: string;
public
  property Id: integer read FId;
  property LastName: string read FLastName write FLastName;
  property FirstName: string read FFirstName write FFirstName;
  property Email: string read FEmail write FEmail;
end;

This is a typical simple class.

Now expand it with:

type

[Entity]

[Automapping]

TPerson = class
private
  FId: integer;
  FLastName: string;
  FFirstName: string;
  FEmail: string;
public
  property Id: integer read FId;
  property LastName: string read FLastName write FLastName;
  property FirstName: string read FFirstName write FFirstName;
  property Email: string read FEmail write FEmail;
end;

The TPerson class now is wrapped around Aurelius to allow database functionality.  So Saving a person is as simple as Manager.Save(Person).

Queries are also great and can be done in a couple ways, including Linq style queries such as:

PersonList := Manager.CreateCriteria<TPerson>;
.Where(TLinq.Like('FirstName', PersonName) or (TLinq.Like('LastName', PersonName)))
.AddOrder(TOrder.Asc('FirstName'))
.List;

What about common situations such as inheritance?  Not a problem. The inheritance still works the same way with the data storing in their perspective tables.

What databases are you limited to?  TMS Software’s Aurelius recently added support for my favorite database by Elevate Software called ElevateDB, but also supports the usual suspects such as MS SQL, MySQL, Oracle, SQLite, PostgreSQL, Interbase, Firebird and DB2.

If you haven’t yet, I’d encourage you to check out a demo on TMS Software’s website.

Apr 142011
 

Elevate Software recently released Version 2.05 Build 6 of their ElevateDB database tool. For those not familiar with ElevateDB, it is a prepackaged database solution that can be directly compiled into Delphi, c++ Builder and Lazarus applications.

ElevateDB also run in a client-server mode using a small, but powerful server executable that can be connected by clients using Delphi, c++ Builder, Lazarus as well as though Visual Studio .NET languages via the ElevateDB .NET Data Provider or through additional development platforms using the Elevate ODBC Connector. A newer addition to the ElevateDB family is a PHP extension for Windows based PHP servers.

ElevateDB supports a large subset of the SQL-2003 standard, making the transition to integrate this database easy, while still following standards.

Support for Elevate Software products is primarily via forum / newsgroup or email. Aside from being a great product, the support provided by the owner/developer Tim Young is outstanding. There is a Team Elevate group that also assists other fellow users.

I’d strongly recommend, if you’re in need of a database tool, to check out this product.  The pricing is designed to be very fair and reasonable when compared to other commercial products. In fact, I think it is a GREAT value when all is said and done. If you require source code, there is options to purchase the source code editions for a reasonable surcharge.

Disclaimer: While I’m not being paid by Elevate Software for this mention or an employee of Elevate Software, I am a member of Team Elevate.