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

时间:2011-06-26 21:05:15

标签: 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);

我看到的文件令人困惑。 srrments是否取决于数据类型 我在这里找到了一个例子http://support.microsoft.com/kb/248799 这似乎不适用于DB2。我认为odbc在数据库中是一致的。 他会提供一个特定的代码示例。

1 个答案:

答案 0 :(得分: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;

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