Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
用为指定列读取的值填充提供的缓冲区。
public sacapi_bool sqlany_get_column( a_sqlany_stmt * sqlany_stmt, sacapi_u32 col_index, a_sqlany_data_value * buffer )
sqlany_stmt 由 sqlany_execute() 或 sqlany_execute_direct() 执行的语句对象。
col_index 要检索的列编号。列编号在 0 到 sqlany_num_cols() - 1 之间。
buffer 要使用为列 col_index 读取的数据进行填充的 a_sqlany_data_value 对象。
成功则为 1,失败则为 0。如果有任何参数无效,或者如果没有足够的内存用于检索来自 SQL Anywhere 数据库服务器的完整值,则会引起失败。
对于 A_BINARY 和 A_STRING * 数据类型,value->buffer 指向与结果集相关联的内部缓冲区。不要依赖于指针缓冲区的内容,也不要变更它,因为它在读取新行或释放结果集对象时会改变。用户应将数据从这些指针复制到它们自己的缓冲区中。
value->length 字段指示 value->buffer 所指向的有效字符数。value->buffer 中返回的数据不是以空值终止的。此函数读取来自 SQL Anywhere 数据库服务器的所有返回值。例如,如果该列包含一个 2GB 的 blob,则该函数将尝试分配足以容纳该值的内存空间。如不想分配内存,请使用 sqlany_get_data()。