#sqlite #parameters
#sqlite #параметры
Вопрос:
Параметр индекса для sqlite3_column_*
основан на нуле, а sqlite3_bind_*
основан на единице.
Есть ли причина для этого?
Ответ №1:
Я понял.
Виноват sqlite3_bind_parameter_index:
Возвращает индекс параметра SQL с учетом его имени. Возвращаемое значение индекса подходит для использования в качестве второго параметра sqlite3_bind(). Возвращается ноль, если не найден соответствующий параметр.
Итак, поехали. Странный выбор, учитывая, что они, похоже, используют signed int для индекса, что означает, что они могли бы использовать -1 для указания несоответствия. Возможно, причина этого более историческая, SQLite существует уже некоторое время…