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