勇芳软件工作室.汉化:  CSQLite Classes > CSQLiteStatement Class > ISQLiteStatement Interface >

ColumnBlob Method

Previous pageReturn to chapter overviewNext page

描述

 

返回有关查询当前结果行的单个列的信息。

 

PB语法

 

METHOD ColumnBlob (BYVAL vCol AS VARIANT) AS DWORD

 

参数

 

vCol

 

[in]要返回信息的列的索引或名称。结果集的最左列有索引0。结果中的列数可以使用ColumnCount确定。

 

返回值

 

列值作为指向blob的指针。

 

备注

 

如果SQL语句当前没有指向有效的行,或者如果列索引超出范围,则结果是未定义的。ColumnLong只能在最近调用已返回SQLITE_ROW时调用,而且以后不再调用重启最终确定.如果在重启最终确定之后或在返回了除了SQLITE_ROW之外的任何其他功能之后调用了这些函数,则结果未定义。重启最终确定ColumnBlob待处理之前从另一个线程调用,则结果未定义。

 

零长度BLOB的ColumnBlob的返回值为空指针。

 

ColumnBlob尝试在适当的情况下转换值。下表详细说明了所应用的转化:

 

内部类型

请求类型

转变

NULL

BLOB

结果是NULL指针

INTEGER

BLOB

使用atoi()

FLOAT

BLOB

使用atof()

TEXT

BLOB

不用找了

 

上面的表格参考了标准C库函数atoi()和atof()。SQLite并没有真正使用这些功能。它具有自己的等效内部功能。为了简洁起见,在表中使用了atoi()和atof()名称,因为它们是大多数C程序员熟悉的。

 

返回的指针在重启最终确定被调用之前有效。用于保存BLOB的内存空间将自动释放。不要将ColumnBlob返回的指针传递给自由.

 

如果在评估任何这些功能时发生内存分配错误,则返回默认值。默认值为NULL指针。对ErrCode的后续调用将返回SQLITE_NOMEM。