delphidelphi-xe2adodbexpress

dbExpress vs ADO Connection


Is using a dbExpress database faster/better/less programming than ADO connection and Access db for this instance?

I have never used dbExpress and only other db I have ever used was a MYSQL when programming a Website. Thanks

Glen


Solution

  • There is no dbExpress database. dbExpress is the name of the database components in Delphi.

    Using the dbExpress components, you can connect to a target database server (SQL Server, Oracle, MySQL, etc.) using the database system's native protocol.

    One of the advantages of connecting natively, presumably, is performance because you avoid the ADO middleware.

    A second advantage is that you're not tied to running on Windows, since ADO is a Microsoft product. You could use the dbExpress components in a FireMonkey application and have a cross platform application.

    There are some restrictions with the use of the dbExpress components unless you have the Enterprise or greater version of Delphi XE 2.

    Professional includes (note the "local"):

    dbExpress local database connectivity to InterBase® and MySQL

    Enterprise includes:

    Database server connectivity to InterBase, Firebird, MySQL, Microsoft SQL Server, Oracle, DB2, Informix, Sybase ASE, SQL Anywhere, and ODBC

    There are third party native database components available (often much cheaper than the cost difference between Professional and Enterprise).

    As far as programming goes, I find that using native components is slightly easier, since you don't need to create an ADO connection string, but connection strings are also easily found on the Internet for major database providers.