Small dataset derived class }
This component was derived from the 16 bit TUQBE class developed by David Berneda, which
has always been free. Grant Carpenter made an attempt to update it to 32 bits but some of
its functionality was lost. I modified the original 16 bit control to regain functionality
but since I find that I use a mix of QBE and SQL queries, I thought it would be nice to
have a component which would handle either one. The BDE only requires that you tell it
what query language it should expect. It will cheerfully execute a query in either format.
It has been substantially modified by me and thus carries the Morphic Molecules logo.
However it is free for any use, commercial or otherwise.
It will be supported to a limited extent by email (everett@txdirect.net)
DISCLAIMER : I take no responsibility for any damage, loss of goods, services,etc.
which might be caused by the use of this control by you or anyone using software
in which you have included this control.
MMEverett
everett@txdirect.net
{ Modified original notes. } (*
Answer table name can be specified with or without alias.
Eg: :dbdemos:void.db
void.db -- you must have set up drive and types correctly.
c:\mydb\void.db
Assumed answer table Driver: DBASE
THE OLD COMPONENT USED PARADOX as a DEFAULT.
The new property: AnswerType allows to PARADOX,DBASE and ASCII answer table types
If the answer table exists, an atempt to delete it is made before copying
the result cursor.
The physical answer table must be opened in exclusive mode and all related
family files are erased together with the table. That is, if something else has
this table open, the query will error out.
Unfortunately, if the query does not return a table; e.g. in update, insert, or delete
queries, you will get an error message saying that I could not set a cursor, although the
query has executed just fine. You can trap for this with an on EDatabaseError in a
try..except clause, although you will still get the error when running under Delphi.
Other functions in this unit:
** Function GetAliasPath(Const Alias:String):String;
Returns the path for the "alias" or a empty string if not found.
Eg: ('dbdemos') returns 'c:\delphi\demos\data'
** Function GetDBTablePath(Const TableName:String):String;
Returns the TableName with path instead of alias (if it has an alias).
Eg: (':dbdemos:customer.db') returns 'c:\delphi\demos\data\customer.db'