ADO vs. BDE accessing SQL2000

Posted on 2001-06-17
Last Modified: 2013-11-23
I am faced with a technical question that seems to have no clear cut answer.  I have a lot of old poorly written code around an Interbase 5.0 database.  I have ported my data to SQL 2000, but I am being told that I should also convert the data access within the old code from BDE to ADO due to limitations with Stored Procs.  Now, I understand I will gain a lot from rewriting the data access, like instituting a standard data module and documenting some of the spaghetti.  However, I think I might want to wait on the data access conversion and just try to use the BDE TTable components and connection ratehr than changing everything to ADO right now.  Some of my programmers say I should convert it to ADO and some do not.  It will cost more money and time to do the ADO conversion.  

Is there a definitive right answer to the question: Must I convert data access to ADO when going form an Interbase backend to a SQL 2000 backend?

Question by:ARW
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

Expert Comment

ID: 6200842

yes for sure u shall move to ADO and also if u move to Delphi 6 u shall stop using the BDE. From what Borland said they going to renounce to use slowly ...

LVL 27

Expert Comment

ID: 6201016
i would prefer to use ado with a sql2000 server

Expert Comment

ID: 6201138
I am using ADO queries and an occasional table against SQL2000 and I have also used the same code against Interbase. 'Going' from Interbase to SQL2000 was not painless.

From my point of view you ''ll have to choose between
    known paths and a technology that's at the end of its evolution
    Using technology that is new to you, but which is (or will be) ready for future developments
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Expert Comment

ID: 6202043
We are developing D5 application using SQL Server
and BDE and untill now we didn't see any major problems.
We are also writing Triggers and Stored Procedures.

Accepted Solution

bozo7 earned 200 total points
ID: 6202269
One issue with using BDE with SQL. The BDE can only have one active at a time. I ran tests on this I made an application with 2 ADO queries and 2 BDE queries (both doing select *) here are the results:
Table1 300,000 records
Table2 25,000 records
     Query1      Query2
ADO    15 sec      10 sec
BDE    10 sec       5 minutes

The problem with the BDE is that it must cache the first query locally before it can open the second query. Which defeats the purpose of a client server design.
I now use ADO with SQL 2000. It works just great.

Hope this helps

Author Comment

ID: 6207426
Thank you for supporting answer with empirical data.


Expert Comment

ID: 6209236

Are you sure that when you run a seperate thread with its own session, the BDE cannot have two queries active?


Expert Comment

ID: 6210280
If it is two threads with a seperate session it is probably fine. But I did not see that issue brought out. Besides a thread can not update the user interface of the main thread. So the programming of the threads would be far more complicated than switching to ADO, in my opinion.

Expert Comment

ID: 6213191
You're absolutely right there Ross, but its a different argument for the same answer.

Anyway, enough hair splitting

CU, Ramon

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
NetCrunch network monitor is a highly extensive platform for network monitoring and alert generation. In this video you'll see a live demo of NetCrunch with most notable features explained in a walk-through manner. You'll also get to know the philos…
In this brief tutorial Pawel from AdRem Software explains how you can quickly find out which services are running on your network, or what are the IP addresses of servers responsible for each service. Software used is freeware NetCrunch Tools (https…

690 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question