Board index » off-topic » Can Delphi 2005/2006 do ADO.NET and BDE from same app/exe ?

Can Delphi 2005/2006 do ADO.NET and BDE from same app/exe ?


2006-01-28 07:14:45 AM
off-topic4
If anyone can help, I'd appreciate it. I'm moving from using Delphi 6 to
Delphi 2005 (or 2006) as my dev tool and would like some advice.
Currently, we have an app written in Delphi 2005 that uses BDE to access
Dbase tables. And it also access MS SQL tables (using ADO OLE DB).
We want all our new apps to be .NET (no win 32 apps anymore). The fact that
we still need to access Dbase tables is out of my control and won't change
soon (yes, I know the BDE is unsupported by Borland now).
Concerns:
1. It seems that in Delphi 2005 if I want to use the BDE components (like
tTable, tDatasource, tQuery, tDBgrid.) that I must create a new VCL Forms
application. Because the BDE components are only available in a VCL .Net
app.
2. And if I want to use ADO.NET I must create a new Windows Forms
application. Because the Borland Data Provider components are only available
in a win forms app.
First, can I get confirmation that the 2 above statements are true ? And if
so, is there no way to build one app (one exe) that can both use BDE
(tTables, tQueries...etc.) and also use ADO.NET ? By ADO.NET I mean things
like data providers (connection, data adapter, command, data reader), the
data set and data consumers (win form.).
If not, I know I could (but don't want to) break my app into 2 pieces but is
there any way for a winform to use BDE (Dbase tables) other than ODBC ?
ODBC is not going to work because of its limitations (100 columns max in a
table and the fact that it seems to place a lock on BDE or JET where only
one ODBC connection to BDE is allowed on that machine at any one time).
Thanks,
Eric Gooden
 
 

Re:Can Delphi 2005/2006 do ADO.NET and BDE from same app/exe ?

I guess I've answered my own question. I've found that even though both the
BDE and BDP (ADO.NET) components are not available from the component
palette at the same time you can just add the assembly reference and add to
the uses clause and you can at least access the functionality at run time.
I wrote a sample NT Service app and managed to open both a Dbase table with
BDE and a MS T-SQL table with BDP. But I am still confused over why both
wouldn't be available from the component palette. I'll ask that question in
a more appropriate forum.
Eric Gooden
"Eric Gooden" < XXXX@XXXXX.COM >wrote in message
Quote
If anyone can help, I'd appreciate it. I'm moving from using Delphi 6 to
Delphi 2005 (or 2006) as my dev tool and would like some advice.

Currently, we have an app written in Delphi 2005 that uses BDE to access
Dbase tables. And it also access MS SQL tables (using ADO OLE DB).

We want all our new apps to be .NET (no win 32 apps anymore). The fact
that we still need to access Dbase tables is out of my control and won't
change soon (yes, I know the BDE is unsupported by Borland now).

Concerns:

1. It seems that in Delphi 2005 if I want to use the BDE components (like
tTable, tDatasource, tQuery, tDBgrid.) that I must create a new VCL Forms
application. Because the BDE components are only available in a VCL .Net
app.

2. And if I want to use ADO.NET I must create a new Windows Forms
application. Because the Borland Data Provider components are only
available in a win forms app.

First, can I get confirmation that the 2 above statements are true ? And
if so, is there no way to build one app (one exe) that can both use BDE
(tTables, tQueries...etc.) and also use ADO.NET ? By ADO.NET I mean
things like data providers (connection, data adapter, command, data
reader), the data set and data consumers (win form.).

If not, I know I could (but don't want to) break my app into 2 pieces but
is there any way for a winform to use BDE (Dbase tables) other than ODBC ?
ODBC is not going to work because of its limitations (100 columns max in a
table and the fact that it seems to place a lock on BDE or JET where only
one ODBC connection to BDE is allowed on that machine at any one time).

Thanks,

Eric Gooden