6
Il parametro indice per sqlite3_column_*
è a base zero mentre sqlite3_bind_*
è a base uno.Perché alcune funzioni SQLite sono basate su zero e su una base
C'è una ragione per questo?
Il parametro indice per sqlite3_column_*
è a base zero mentre sqlite3_bind_*
è a base uno.Perché alcune funzioni SQLite sono basate su zero e su una base
C'è una ragione per questo?
Ce l'ho.
Blame sqlite3_bind_parameter_index:
ritorno l'indice di un parametro di SQL dato il suo nome. Il valore di indice restituito è adatto per essere utilizzato come secondo parametro per sqlite3_bind(). Uno zero viene restituito se non viene trovato alcun parametro corrispondente.
Quindi eccoci. Scelta dispari, considerando che sembrano utilizzare un int firmato per l'indice, nel senso che potrebbero aver usato -1 per indicare una non corrispondenza. Forse il motivo dietro che è più storico, SQLite è in circolazione da un po '...