Difference between revisions of "OpenDBX/C API/odbx row fetch"

From Linuxnetworks
< OpenDBX‎ | C API
Jump to: navigation, search
(header)
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
 +
'''Retrieve rows from the result set'''
  
  '''#include <odbx.h>'''
+
  #include <opendbx/api.h>
+
int '''odbx_row_fetch'''(
+
    odbx_result_t* '''result''' )
+
  
= Description: =
+
int '''odbx_row_fetch'''(
 +
    odbx_result_t* '''''result''''' )
  
Retrieves a row of the result set returned by [[OpenDBX_result|odbx_result()]]. Until this function is invoked, no row and no field data is available via [[OpenDBX_field_length|odbx_field_length()]] and [[OpenDBX_field_value|odbx_field_value()]] and you must fetch all rows from a result set until zero is returned. Otherwise - depending on the backend - an error may occur after calling [[OpenDBX_result|odbx_result()]] the next time or the outstanding rows will be returned within the next result.
+
== Description ==
  
= Parameters: =
+
Retrieves the values of a row from the current result set returned by [[OpenDBX/API/odbx_result|odbx_result]](). Until this function is invoked, no row and field data is available via [[OpenDBX/API/odbx_field_length|odbx_field_length]]() or [[OpenDBX/API/odbx_field_value|odbx_field_value]]() and these functions will return zero respectively NULL.
  
* result: Object created by [[OpenDBX_result|odbx_result()]]
+
Moreover, it is necessary to fetch all rows from a result set until zero is returned indicating that no more rows are available. Otherwise - depending on the backend - an error may occur after calling [[OpenDBX/API/odbx_result|odbx_result]]() the next time or the outstanding rows will be returned within the next result.
  
= Return values: =
+
[[OpenDBX/API/odbx_row_fetch|odbx_row_fetch]]() requires a valid '''''result''''' object which was created by [[OpenDBX/API/odbx_result|odbx_result]](). It must not have been feed to [[OpenDBX/API/odbx_result_finish|odbx_result_finish]]() before.
  
* One on success
+
== Return value ==
* Zero if no more rows are available
+
* Less than zero if an error occured
+
  
= Errors: =
+
[[OpenDBX/API/odbx_row_fetch|odbx_row_fetch]]() will return ODBX_ROW_NEXT ("1") as long as rows are available from the result set. After the last row has been made available, further calls to this function will return ODBX_ROW_DONE ("0") indicating that the result set doesn't contain more rows. The named constants are available since OpenDBX 1.3.2 and the numbers in brackets have to be used instead if a previous release is is the basis for the application development.
  
* -ODBX_ERR_PARAM: Parameter or its content is invalid
+
In case of an error, values less than zero are returned encodeing the reason why the error occurred.
  
= See also: =
+
== Errors ==
  
* [[OpenDBX_column_count]]
+
; -ODBX_ERR_PARAM : The '''''result''''' parameter is either NULL or the object is invalid. This is usually the case if result has been already feed to [[OpenDBX/API/odbx_result_finish|odbx_result_finish]]().
* [[OpenDBX_column_name]]
+
* [[OpenDBX_column_type]]
+
* [[OpenDBX_field_length]]
+
* [[OpenDBX_field_value]]
+
  
 +
== See also ==
  
----
+
* [[OpenDBX/API/odbx_column_count|odbx_column_count]]()
Back to [[OpenDBX API|Overview]]
+
* [[OpenDBX/API/odbx_column_name|odbx_column_name]]()
 +
* [[OpenDBX/API/odbx_column_type|odbx_column_type]]()
 +
* [[OpenDBX/API/odbx_error|odbx_error]]()
 +
* [[OpenDBX/API/odbx_error_type|odbx_error_type]]()
 +
* [[OpenDBX/API/odbx_field_length|odbx_field_length]]()
 +
* [[OpenDBX/API/odbx_field_value|odbx_field_value]]()
 +
* [[OpenDBX/API/odbx_result|odbx_result]]()

Latest revision as of 23:14, 28 April 2009

Retrieve rows from the result set

#include <opendbx/api.h>
int odbx_row_fetch(
    odbx_result_t* result )

Description

Retrieves the values of a row from the current result set returned by odbx_result(). Until this function is invoked, no row and field data is available via odbx_field_length() or odbx_field_value() and these functions will return zero respectively NULL.

Moreover, it is necessary to fetch all rows from a result set until zero is returned indicating that no more rows are available. Otherwise - depending on the backend - an error may occur after calling odbx_result() the next time or the outstanding rows will be returned within the next result.

odbx_row_fetch() requires a valid result object which was created by odbx_result(). It must not have been feed to odbx_result_finish() before.

Return value

odbx_row_fetch() will return ODBX_ROW_NEXT ("1") as long as rows are available from the result set. After the last row has been made available, further calls to this function will return ODBX_ROW_DONE ("0") indicating that the result set doesn't contain more rows. The named constants are available since OpenDBX 1.3.2 and the numbers in brackets have to be used instead if a previous release is is the basis for the application development.

In case of an error, values less than zero are returned encodeing the reason why the error occurred.

Errors

-ODBX_ERR_PARAM 
The result parameter is either NULL or the object is invalid. This is usually the case if result has been already feed to odbx_result_finish().

See also