Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
执行 SQL SELECT 语句,以及替代值列表。
public virtual bool ExecuteScalarV( void * dstPtr, size_t dstSize, ul_column_storage_type dstType, const ul_wchar * sql, va_list args )
dstPtr 指向所需类型变量的指针,该变量用于接收值。
dstSize 用于接收值的变量的大小(如果适用)。
dstType 要检索的值的类型;必须与变量类型相匹配。
sql SELECT 语句,可以包含 '?' 参数。
args 要替换的字符串 (char *) 值的列表。
如果查询执行成功且成功检索到值,则返回 true;否则,如果未读取到值,则返回 false。查看 SQLCODE 以确定返回 false 的原因。如果未指示任何警告或错误 (SQLE_NOERROR),则选定值为 NULL。
dstPtr 必须指向正确类型的变量,从而匹配 dstType。只有大小可变的值(例如,字符串和二进制数据)才需要 dstSize,否则将被忽略。参数值的变量列表必须与语句中的参数相对应,并且假设所有值均为字符串(在内部,UltraLite 会根据语句的需要转换参数值)。
支持以下类型:
#UL_TYPE_BIT/#UL_TYPE_TINY 使用变量类型 ul_byte(8 位,无符号)。
#UL_TYPE_U_SHORT/#UL_TYPE_S_SHORT 使用变量类型 ul_u_short/ul_s_short(16 位)。
#UL_TYPE_U_LONG/#UL_TYPE_S_LONG 使用变量类型 ul_u_long/ul_s_long(32 位)。
#UL_TYPE_U_BIG/#UL_TYPE_S_BIG 使用变量类型 ul_u_big/ul_s_big(64 位)。
#UL_TYPE_DOUBLE 使用变量类型 ul_double(双精度)。
#UL_TYPE_REAL 使用变量类型 ul_real(浮点)。
#UL_TYPE_BINARY 使用变量类型 ul_binary 并指定 dstSize(如同在 GetBinary() 中一样)。
#UL_TYPE_TIMESTAMP_STRUCT 使用变量类型 DECL_DATETIME。
#UL_TYPE_CHAR 使用变量类型 char [](字符缓冲区),并将 dstSize 设置为缓冲区的大小(如同在 GetString() 中一样)。
#UL_TYPE_WCHAR 使用变量类型 ul_wchar [](宽字符缓冲区),并将 dstSize 设置为缓冲区的大小(如同在 GetString() 中一样)。
#UL_TYPE_TCHAR 与 UL_TYPE_CHAR 或 UL_TYPE_WCHAR 相同,具体取决于调用哪个版本的函数。
有关这些类型的详细信息,请参见ul_column_storage_type 枚举。