Quoting Chris Schirlinger <[EMAIL PROTECTED]>:

> > I wouldn't sell the BDE-style components short, as they may be useful
> > for some, if well-written and well-documented, but I like simple.

The (Borland) BDE is a lot of overhead conceirning database access, but it's a
transparent layer allowing to develop applications without knowing which
database is used (within the supported types of course). If that's important:
use the bde (Although SQLite is not supported as far as I know).

There are VCL components around accessing SQLite directly.These components work
directly on the API set of SQLite avoiding a lot of overhead the BDE has.
However they do allow you to access the database is the standard well
documented Borland way. Don't ever use 'locate' on a sql type database. This is
always by far slower than accessing the sql way. Locate requires a resultset you
can walk through up and down, this cannot be done in simple sql.

There are two types of wrappers, one that is not data-aware (like the Tim
Anderson components) and data-aware, like our's. In both cases they use
standard VCL stuff so there's a little overhead. But surely not as dramatic as
suggested. But there's one condition. Use transactions! Without them, you'll
never get a good performance.

Of course anybody must use what he/she likes most. Directly accessing the API is
technical, you need to know lot's about pointers, you need to convert the
datatypes etc. etc. It's more work, but it's more fun too. That's why I created
the VCL part and I can understand why others like to access the API directly
too. But on the speed part...

albert

Reply via email to