What's best (as well as for what reasons) to make use of for connecting to MS SQL, Oracle or Firebird from the Delphi Win32 application -- ADO or DBX (Database Express)?

Both permit you to connect with the main databases. I love the way in which ADO will it with an association string change cheap ADO and also the motorists are incorporated with Home windows so nothing extra to deploy (it appears, correct me if I am wrong).

DBX can also be flexible and that i can compile the motorists into my application, can one not?

I truly am keen to possess a single source if at all possible, having the ability to vary databases with respect to the customer's IT department/preferences.

But that is simpler to program, works better, uses memory most effectively? Every other items to differentiate them on?

Thanks, Richard

ADO is easy to use and it is there, you simply must make certain to set up the correponding client driver within the client side.

I discovered DBX more flexible which is better integrated within IDE and the other technologies like DataSnap.

For the similar purpose than you, I have tried personally DBX with 3rd Party Motorists from DevArt. You are able to compile the motorists together with your application if you purchase the motorists sources.

General rule: every layer of components will possibly add one more layer of bugs. Both ADO and DBX are component wrappers around standard database functionality, thus they are either strong. Therefore the proper choice ought to be according to additional factors, such as the databases that you would like to make use of. If you wish to connect with MS-Access or SQL Server, ADO will be the better option becasue it is more native of these databases. But Firebird and Oracle tend to be more native for that DBX components.

Personally, i often make use of the raw ADO API's, though. On the other hand, I do not use data-aware components during my projects. It's less Radical, I understand. However I frequently have to work by doing this because I generally write client/server programs with several layers between your database and also the GUI, thus making things more difficult.

My two cents: DBX is considerably faster (on oracle and sql), and considerably more finicky and harder to deploy.

If performance is really a factor, I'd opt for DBX. Otherwise, I'd only use ADO for simplicity's sake.