El parámetro de índice para sqlite3_column_*
está basado en cero, mientras que sqlite3_bind_*
está basado en una sola base.¿Por qué algunas funciones de SQLite son basadas en cero y basadas en un solo
¿Hay alguna razón para esto?
El parámetro de índice para sqlite3_column_*
está basado en cero, mientras que sqlite3_bind_*
está basado en una sola base.¿Por qué algunas funciones de SQLite son basadas en cero y basadas en un solo
¿Hay alguna razón para esto?
Lo tengo.
culpa sqlite3_bind_parameter_index:
Volver al índice de un parámetro de SQL dado su nombre. El valor del índice devuelto es adecuado para usar como el segundo parámetro para sqlite3_bind(). Se devuelve un cero si no se encuentra ningún parámetro coincidente.
Así que listo. Elección extraña, considerando que parecen estar usando un int firmado para el índice, lo que significa que podrían haber usado -1 para indicar que no coinciden. Tal vez la razón detrás de que es más histórica, SQLite ha existido por un tiempo ...