You can use
a ResultSet object to execute a query and browse the query results.
When you create queries using the QueryDef Object, you must
create a corresponding ResultSet object to run the query and obtain
the results. Each ResultSet object is customized for the query it
is running. The ResultSet object contains data structures that organize
data from the query into rows and columns, where each row represents
a single data record and each column represents one field from that
data record. After running the query, you can navigate (move) from
row to row, and from column to column, to obtain the data you want.
Note that:
- Columns are numbered from (1 through N), not (0
through N-1).
- After the result set is generated, you may need
to fill in parameter values, if it is a parameterized query.
- After the result set is generated and parameters
(if any) are set, you may execute it to see the output of the query.
It is permitted to execute the result set multiple times, if you wish
to rerun the query. (Perhaps you have cleared and reset the parameter
values.) It is also legal to get the SQL for the query.
- Conceptually a query may generate so much output
that it would be impossible or greatly inefficient to just copy it
from the database over into the memory of the program. So, you have
to use a "cursor" to navigate through the output, using the MoveNext method.
- Immediately after executing the result set, the
cursor is positioned "just before" the first item, so you have to
call MoveNext before you can extract the first value.
- To get the value after you are positioned, use
the GetColumnValue method.
For an example of how to use the ResultSet object, see Running a query that has dynamic filters.