Ищем один пример лайнера, как связать и вставить нулевое значение в базу данных, используя ODBC API - PullRequest
4 голосов
/ 27 июня 2011

Функция

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

Документация, которую я видел, сбивает с толку. Зависит ли srguments от типа данных или нет Я нашел пример здесь http://support.microsoft.com/kb/248799 который, похоже, не работает на DB2. Я думал, что odbc был одинаковым для всех баз данных. Конкретный пример кода будет ему полезен.

1 Ответ

7 голосов
/ 27 июня 2011

Это не одна строка как таковая, но

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). Выберите фактический тип данных, чтобы он соответствовал типу вашего столбца, но важно установить значение индикатора в SQL_NULL_DATA перед вызовом SQLExecute или SQLExecDirect. И убедитесь, что он все еще установлен на это значение в точке выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...