New Features and Bug Fixes in Version 3.00 of ODBCExpress
=========================================================
New Features
------------
16 and 32bit Support:
= ODBCExpress 3.0 still supports both 16 & 32bit platforms! This will allow
you to easily migrate from a 16bit to a 32bit platform when you're ready to
switch.
Improved ListBox/Grid Controls:
= The new data-aware grid provide you with more speed, control and embedded
controls than before as well as new functionality like direct grid inserts!
It now works with any SQL cursor, including Forward_Only cursor.
Design-time grid population is now also supported!
ODBC SQL Builder:
= Point-and-click your way to construct bug-free ODBC-compliant SQL with our
new SQL Builder! Our SQL Builder Wizard includes advanced features like
ODBC generic escape-clause and expression support.
Visual Control Interface:
= Write your own multi-row data-aware components (eg. a data-aware grid)!
ODBCExpress now offers an interface through which you can write your own
single-column data-aware components, provided that you have the source code.
Visual Controls by Name:
= Visual controls can now be populated specifying column names instead of
column numbers!
Full Product Documentation:
= ODBCExpress 3.0 will ship with full product documentation in the form of a
comprehensive help file and a number of Microsoft Word documents!
= Helpfile integration with Delphi via a keyword file!
= A complete set of source code examples!
= A set of tutorials, with source code examples!
Exceptional Control:
= You now have 4 levels of SQL generation to do inserts, updates and deletes:
1. SQL-less operations, using positional ODBC functionality.
2. Generated SQL operations, using SQL cursors.
3. Generated SQL operations, using specified primary keys.
4. Event-driven SQL operations, allowing you to construct your own SQL.
Bulk Inserts:
= Seamless bulk parameter binding now allows you to get even more speed out of
your applications! Some of our Beta testers are experiencing a speed
improvement of between 400% to 1000%!
More Visual Controls:
= We've added a couple of new data-aware visual components just to make your
life easier! The label, real, integer, date and time components give your
users a great interface and offer you improved control over your data.
Database Schema Builder:
= Build tables, indexes and views, or run SQL scripts using the new schema
builder component.
DataSource Component:
= Create, modify, remove and browse data sources available on any machine with
our new Datasource component! Now you can even make ODBC database
connections without using a datasource!
Programmable ODBC Installation:
= Write your own ODBC library and ODBC driver installation applications using
the new ODBC Setup API!
Enhanced Connection Control:
= ODBCExpress now offers you even more control over database connections, like
specifying additional attributes such as the database and server.
Automatic ODBC Environment:
= A global THenv component is now automatically created and used by all the
components!
Data Navigator:
= Now you can browse a result set and perform inserts, updates and deletes
with our new Navigator control!
Visual DoInsert:
= Capture data from the visual controls into the database with little or no
code!
Bug Fixes
---------
The following bugs, which existed in version 1.21, is now fixed in
version 3.00:
1. The detail error dialog wasn't correctly created, causing an access
violation when displayed.
2. Form stream read errors in some controls made it impossible to view form
code or copy controls.
3. A memory leak existed in the grid on population.
4. A grid update problem existed when there were non-visible columns in the
grid.
5. DoInsert didn't work when the cursor was positioned before or after the
result set, or the result set was empty.
6. The classes didn't compile clean with hints and warnings enabled.
7. In the 16bit version some problems with blob binding and fetching existed
with certain databases.
8. When a blob column was null it wasn't reflected by SQL_NULL_DATA in the
ColSize property.
9. When passing a long string to ColString or CellString it wasn't stored when
the column was a blob column.
10. Class names which clashed with existing classes, especially in C++ Builder,
were renamed.
11. Some other minor bugs were fixed during development.