勇芳软件工作室.汉化:  SQLite3 API Functions > Database Connection >

sqlite3_free_table (legacy)

Previous pageReturn to chapter overviewNext page

描述

 

释放sqlite3_get_table函数返回的结果表。

 

C / C ++语法

 

void sqlite3_free_table(char **result);

 

PB语法

 

SUB sqlite3_free_table (BYVAL pazResult AS DWORD)

 

参数

 

pazResult

 

[in]指向sqlite3_get_table函数返回的结果表的指针。

 

返回值

 

无返回值。

 

备注

 

在应用程序结束后,sqlite3_get_table的结果,它必须将结果表指针传递给sqlite3_free_table,以释放已经发生的内存。由于sqlite3_mallocsqlite3_get_table内发生的方式,调用函数不得直接调用sqlite3_free.只有sqlite3_free_table能够正确安全地释放内存。

 

C ++实现代码

 

/*

** This function frees the space the sqlite3_get_table() malloced.

*/

SQLITE_API void sqlite3_free_table(

char **azResult            /* Result returned from from sqlite3_get_table() */

){

if( azResult ){

  int i, n;

  azResult--;

  assert( azResult!=0 );

  n = SQLITE_PTR_TO_INT(azResult[0]);

  for(i=1; i<n; i++){ if( azResult[i] ) sqlite3_free(azResult[i]); }

  sqlite3_free(azResult);

}

}