New Features and Bug Fixes in Version 4.52 of ODBCExpress
=========================================================
New Features
------------
New features introduced since ODBCExpress 4.51:
1. Multiple Error Retrieval
- ODBC drivers sometimes queue the error messages indicating the actual
cause of an error after non-descriptive messages. ODBCExpress now allows
you to retrieve all the errors in the queue if necessary.
- The EODBC exception now has First, Last, Next and Prev methods to scroll
through the queue.
- The EODBC.Detail dialog also has Next and Prev buttons to scroll through
the queue.
Bug Fixes
---------
The following bugs, which existed in ODBCExpress 4.51, are now fixed in
ODBCExpress 4.52:
1. THstmt Component
- The prepared and executed flags were not reset by the close and terminate
methods.
- The table name case was not preserved by the NumRows method.
- A "wrong number of parameters" error sometimes occurred when using the
cursor library.
- The Fetch methods suppressed the detection of certain soft errors.
- Non-updatable columns were not ignored during updates (this does not
include updatable columns involved in referential integrity constraints).
2. TCustomOEDataSet Component
- The stored procedure statement was not correctly generated if the stored
procedure had no parameters.
- The Hstmt.BindBookmarks sub-property was set to True by default and
therefore did not correspond to the THstmt.BindBookmarks and the
TCustomOEQuery.BindBookmarks properties.
- A bookmark retrieval problem caused some data refresh problems (e.g. the
3rd dataset involved in a 3 level master-detail relationship did not
always refresh).
- A row's deleted flag was set before the row was successfully deleted.
- The result set was not successfully closed on closing the dataset.
- An "invalid bookmark" error sometimes occurred directly after an update
error occurred.
- The LocateInsert functionality did not work correctly with multiple-field
primary keys.
- A non-descriptive exception was raised when the primary keys used by the
LocateInsert method could not be detected.
- A pseudo column problem with the LocateInsert functionality sometimes
caused errors such as "RowID not found".
- Some dataset behaviour problems which existed in v4.51 were also fixed.
3. TCustomOEQuery Component
- The concurrency type is now set to a more acceptable "Values".
- The cursor type is now automatically switched between static and
keyset-driven, depending on whether the cursor library is used or not.
Acknowledgements
----------------
Thanks to Kyle Cordes and all the other ODBCExpress users for all the
suggestions and feedback which were instrumental in the development of this new
version of ODBCExpress.