sqlite3_data_count
возвращает количество значений (столбцов) текущего выполняемого оператора.
Без результатов возвращает 0.
sqlite3_column_count
, с другой стороны, всегда возвращает количество столбцов с результатами или без.
Какой из них вы будете использовать, зависит от того, должны вы получить количество столбцов или нет.