Comparison of the High-Level and Low-Level Interfaces
An application that uses the low-level interface to send a query to the data
server must prepare the query, initiate communication with the data server,
send the query to the data server, and execute the query. If it requested data to
be returned, the application must determine when the data is ready, and
retrieve the data one item at a time. Each step in this process requires calling
one or more low-level routines.
application, in contrast, consists of only a few routines, each of which might
call several low-level routines to accomplish its tasks. For example, a single
high-level function can call the query definition function, initiate
communication with the data server, send the query to the data server, and
execute the query.
Because the high-level interface is very easy to use and requires no specific
knowledge of the data source or database server, you can add high-level data
access to your application very easily. Then, whenever someone provides a
query document for use with a specific data server, the user can take advantage
of the data access capability included in your application. However, because
there is no way for a query document to verify that data sent to a data source
has been successfully received, it is recommended that you use the low- level
interface to send data to a data source or update data in a data source.
Although in concept the low-level routines and high-level routines serve
separate purposes, there is nothing to prevent you from using calls to both in a
single application. For example, you might use low-level routines to send a
query to a data server and high-level routines to read the results and convert
them to text.