In the DBTools.h++ paradigm, all results are tables. Class RWDBTable encapsulates a single table of results, class RWDBResult encapsulates a sequence of 0 or more tables, and class RWDBReader provides the mechanism for reading a table. Consequently, handling multiple result sets is never a problem.
Since SQL Server supports the notion of a trigger, it is possible for the INSERT, UPDATE, and DELETE operations to produce result sets, as well as the more common SELECT. In DBTools.h++, the execute() method of each DML class returns an RWDBResult object. Applications that are concerned with results being returned by an INSERT, for example, can check the RWDBResult returned by RWDBInserter::execute().
Any data not processed by an application is silently discarded. DBTools.h++ applications need not explicitly discard results; they need not consider the state of the database connection. Data is exchanged between the ODBC driver and DBTools.h++ via three ODBC calls: SQLPrepare(), SQLExecute(), and SQLFetch(). The statements associated with these calls are either explicitly closed by the access library or, if processing multiple results, implicitly closed through a call to SQLMoreResults().
©Copyright 2000, Rogue Wave Software, Inc.
Contact Rogue Wave about documentation or support issues.