Why do I need
Exchanging TQueries to TADOQueries manually
is hard and error prone work. Usually what you do is this: Add a TADOQuery for every TQuery that
is being replaced. Copy the SQL-property, set the Locktype
and the Connection-property. At some point you have to delete the old TQuery and rename the TADOQuery
to the old TQuery name. All datasources
connected to that particular TQuery then loses the
connection. So, you have to manually find every TDataSource
connected to the new TADOQuery. You don`t get any
error-messages from the compiler if the Dataset property is empty on the TDataSource so no help there.
If you have a BDE
Database-application developed in Borland Delphi and you want to upgrade the
BDE to ADO, the
BDE2ADO Converter is the perfect tool! You don`t have to worry about the
SQL-parameters, SQL-Query, Locktypes,
Connection-properties or even the connected TDataSources.
It all gets converted.
How does the
application work? What gets converted?
First of all the
BDE2ADO application scans the selected directory for all *.dfm
files and looks for uses of TDatabases and stores
them in an array. This is because of that TQuery only
has a string-connection (TQuery.Database property) to
the actual TDatabase-object, while TADOQuery has an actual pointer to the TADOConnection.
BDE2ADO then scans all
*.dfm-files again, looking for all uses of TQuery, TwwQuery and replaces
them with TADOQuery. If the TQuery
has parameters, it also checks to see that all parameters have a datatype. If not, it shows a dialogue to select the correct
Finally it scans the
*.dfm-files again replacing the TDatabases
Then the *.pas-files
are scanned. All TQueries, TwwQueries
and TDatabases are replaced with it`s
ADO-equivalents. Most properties and functions that have changed name from BDE
to ADO are also
replaced. For example;
TBlobStream à TADOBlobStream
RequestLive à LockType
(ltOptimistic or ltReadOnly)
StartTransaction à BeginTrans
Commit à CommitTrans
Rollback à RollbackTrans
Also the uses-clause get updated so any reference to dbtables
are replaced with ADODB.