views:

1495

answers:

3

Hi Everyone,

I am migrating to Delphi 2010 and I am using Microsoft SQL 2000 (Planning on upgrading to SQL2008). I have been using BDE all along and wondering if I should use dbGo (ADO) or dbExpress with my future application. Can someone explain to me the pros and cons for using either one?

Thanks a lot.

+5  A: 

Hi Snackmoore. I've recently had exactly the same dilemma, wondering whether to move away from ODBCExpress to ADO or dbExpress which are more supported out-of-the-box.

My decision was very simple in the end, as it was made for me: dbExpress is uni-directional, designed for executing queries, not for cursor-style movement through a dataset. You have to add extra support in order to use grids and other db-aware controls, by using the TDataSetProvider and TClientDataSet components. So it can be done but the extra layers ruled it out for me.

Zarko Gajic has an excellent article on it on his delphi.about.com site.

I'm sure others will disagree and that's good, I welcome the discussion.

_J_
+1  A: 

For simple applications J's soltution might be good enough, but for client / server applications where performance is an issue I'd go for dbExpress. The article by Zarko pointed out before is indeed good reading material.

birger
+2  A: 

For performance reason and future development I will go with dbExpress.

dbExpress has been pushed up since latest version, but dbGo didn't changed since Delphi 5 or 6, and it's include just few fixing with each version, while dbExpress has been getting more improvment with each versions specially in last few releases.

another options is to use SDAC from DevArt, it's has the best performance and has more advanced features for Sql server compared to other technologies.

Mohammed Nasman
Yes I would certainly agree that dbExpress still gets a lot of attention and maintenance from CodeGear and seems to be well respected. My suggestion for ADO was because it doesn't really need changing since older versions, as ADO is not really moving forward itself, and it is an MS standard technology which means it is well supported.
_J_
We use SDAC. Very easy and works well. And we won't get caught out (hopefully!) when Borl/CodeG/Embarcadero change their mind about the current favourite DB implementation method, or which drivers they'll decide to ship in the pro vs enterprise versions.
shunty