查找一个如何使用ODBC API将空值绑定并插入数据库的线性示例

use*_*425 4 c c++ odbc

功能是

SQLRETURN SQLBindParameter(
      SQLHSTMT        StatementHandle,
      SQLUSMALLINT    ParameterNumber,
      SQLSMALLINT     InputOutputType,
      SQLSMALLINT     ValueType,
      SQLSMALLINT     ParameterType,
      SQLULEN         ColumnSize,
      SQLSMALLINT     DecimalDigits,
      SQLPOINTER      ParameterValuePtr,
      SQLLEN          BufferLength,
      SQLLEN *        StrLen_or_IndPtr);
Run Code Online (Sandbox Code Playgroud)

我看到的文件令人困惑.请问是否依赖于数据类型我在这里找到了一个示例http://support.microsoft.com/kb/248799 ,它似乎不适用于DB2.我认为odbc在数据库中是一致的.一个特定的代码示例对他有帮助.

小智 7

它本身不是一条线而是

SQLLEN ival;

ret = SQLBindParameter( stmt, 1, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_VARCHAR, 100, 0, NULL, 0, &ival );

/*
 * before execution is called
 */

ival = SQL_NULL_DATA;
Run Code Online (Sandbox Code Playgroud)

这会将NULL值作为CHAR(100)数据类型插入.选择实际数据类型以匹配列类型,但重要的是在调用SQLExecute或SQLExecDirect之前将指示符值设置为SQL_NULL_DATA.并确保它仍然在执行点设置为该值.