#SQLGetFunctions

# 功能简介

返回支持的驱动程序函数。

该函数与SQLGetTypeInfo不同,SQLGetTypeInfo采用ResultSet方式返回结果,而SQLGetFunctions函数所用的方式如下(以查询ODBC3驱动中SQLTABLES、SQLCOLUMNS和SQLSTATISTICS函数的参数的支持情况为例):

RETCODE retcodeTables, retcodeColumns, retcodeStatistics 
SQLUSMALLINT fExists[SQL_API_ODBC3_ALL_FUNCTIONS_SIZE]; 
   
retcode = SQLGetFunctions(hdbc, SQL_API_ODBC3_ALL_FUNCTIONS, fExists); 
if (reccode == SQL_SUCCESS &&  
   SQL_FUNC_EXISTS(fExists, SQL_API_SQLTABLES) == SQL_TRUE && 
   SQL_FUNC_EXISTS(fExists, SQL_API_SQLCOLUMNS) == SQL_TRUE && 
   SQL_FUNC_EXISTS(fExists, SQL_API_SQLSTATISTICS) == SQL_TRUE)  
{ 
   // Continue with application 
}

# 函数声明

SQLRETURN SQLGetFunctions(  
     SQLHDBC           ConnectionHandle,  
     SQLUSMALLINT      FunctionId,  
     SQLUSMALLINT *    SupportedPtr);

# 参数说明

参数名 说明
ConnectionHandle (IN) 连接句柄。
FunctionId (IN) 标识ODBC函数的#define值;SQL_API_ODBC3_ALL_FUNCTIONS或者SQL_API_ALL_FUNCTIONS。
SupportedPtr (OUT) 如果FunctionId标识单个ODBC函数,则SupportedPtr指向一个SQLUSMALLINT值,如果驱动程序支持指定函数,则SQL_TRUE;如果不支持,则SQL_FALSE。
如果functionId SQL_API_ODBC3_ALL_FUNCTIONS,则SupportedPtr指向元素数等于SQL_API_ODBC3_ALL_FUNCTIONS_SIZE的SQLSMALLINT数组。
如果FunctionId SQL_API_ALL_FUNCTIONS,则SupportedPtr指向包含100个元素的SQLUSMALLINT数组。

Note

SQL_API_ODBC3_ALL_FUNCTIONS采用SQL_FUNC_EXISTS宏校验func支持情况。

SQL_API_ALL_FUNCTIONS采用访问数组对应位置校验func支持情况。

pdf-btn 下载文档 copy-btn 复制链接
edit-icon
反馈
coperate-icon
coperate
合作
communication-icon
communicate
交流