oracle: ResultSet结果集next()问题

见源文档:

*********************************************************************************************************

next()

This method fetches a specified number of rows, numRows, from a previously executed query, and reports the Status of this fetch as definded in Table 12-37.

For non-streamed mode, next() will only return the status of DATA_AVAILABLE or END_OF_FETCH.

  • When fetching one row at a time (numRows=1), process the data using getxxx() methods.

  • When fetching several rows at once (numRows>1), as in an Array Fetch, you must use the setDataBuffer() method to specify the location of your preallocated buffers before invoking next().

Up to numRows data records would populate the buffers specified by the setDataBuffer() call. To determine exactly how many records were returned, use the getNumArrayRows() method.

********************************************************************************************************

而需要注意的问题:

当获得一个结果集后,尤其是结果集只有一条记录时不要忘记调用next()来指向“下一条可用的”记录。如果不执行next()便访问结果集会报如下错误:

ORA-32129: cannot get information about this column

你可能感兴趣的:(oracle与c++开发)