Я слышал об использовании sqlite3_prepare_v2
вместо sqlite_exec
, чтобы получить целые числа из базы данных, но мне не удалось найти примеры. This страница не помогла также. Теперь я получаю строки из базы данных, поэтому мне нужно проанализировать их с помощью atoi
, и это кажется медленным и неэффективным. Там много подобных вопросов на SO, но они касаются OBJ-C и IOS SDK. Мне нужен подсказку или пример C/C++. Спасибо заранее.Получение значений int из SQLite
0
A
ответ
2
После того, как sqlite3_prepare
преуспел, вы не должны забывать очистить инструкцию с помощью sqlite3_finalize
. Чтобы получить результирующие записи, позвоните по телефону sqlite3_step
, пока он не вернется SQLITE_ROW
. Для получения значения текущей записи результата, вызовите sqlite3_column_* functions:
sqlite3_stmt *stmt;
if (sqlite3_prepare_v2(db, "SELECT 42", -1, &stmt, NULL) != SQLITE_OK)
...error...
else {
for (;;) {
int rc = sqlite3_step(stmt);
if (rc == SQLITE_DONE)
break;
if (rc != SQLITE_ROW) {
...error...
break;
}
printf("value: %d\n", sqlite3_column_int(stmt, 0));
}
sqlite3_finalize(stmt);
}
0
sqlite3_column_int(result, columnNum);
вернет один столбец из текущей строки вашего результата в виде int.
Ваша функция подготовки должна подготовить ваш запрос, это не имеет никакого отношения к интерпретации результатов. Все данные в sqlite3 хранятся в текстовом формате, вы используете соответствующую функцию для получения значения в том типе, который, по вашему мнению, должен быть.
Смежные вопросы
- 1. Устранение неполадок/Получение значений SQLite
- 2. Получение int из списка
- 3. Получение суммы значений столбцов в SQLite
- 4. Получение значений textView из спискаView
- 5. Получение значений из массива
- 6. Получение записи из SQLite?
- 7. Получение значений из словаря
- 8. Возвратите результат int из SQLite
- 9. Получение значений из addOnPreDrawListener()
- 10. Получение значений из массива
- 11. Динамическое получение значений char или int из перечислений
- 12. получение значений из sqlite с использованием группы по нулевому указателю
- 13. Получение нулевых значений базы данных SQLite
- 14. Получение значений из байта
- 15. Получение значений из строки значений
- 16. Получение значений из строки
- 17. Получение значений из Enum, как?
- 18. Получение отдельных значений из NSDictionary
- 19. Получение значений из CFLOOP
- 20. Получение значений из DynamoDB
- 21. получение значений из флажка
- 22. Получение значений из класса
- 23. Получение значений из CFDictionary
- 24. Получение значений из JSON
- 25. получение значений из sessionStorage
- 26. Получение значений из местоположения
- 27. Получение значений из массива
- 28. Получение значений из XML
- 29. Получение значений из ответа
- 30. Получение значений из persistence.xml
данных [* не * всегда хранится в виде текста] (http://www.sqlite.org/fileformat2.html#record_format). –
@CL, ссылка, которую вы предоставляете, говорит о форматировании внутренней записи, а не о данных, просматриваемых пользователем. http://www.sqlite.org/datatypes.html предлагает, чтобы все было без каких-либо исключений, столбцы INTEGER PRIMARY KEY. – mah
Данные, просмотренные пользователем, по-прежнему имеют тип; это то, что для [sqlite3_column_type()] (http://www.sqlite.org/c3ref/column_blob.html). –