Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - 编程 » SQL Anywhere 数据访问 API » SQL Anywhere C API 参考 » sacapi.h

 

sqlany_get_column 函数

用为指定列读取的值填充提供的缓冲区。

语法
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 数据库服务器的完整值,则会引起失败。

另请参见