Используйте DatabaseCallback при выполнении sqlite3_stmt

Я реализую запросы параметров для sqlite в C ++, и я хочу, чтобы DatabaseCallback обновлялся при выполнении. Я знаю, что это возможно, когда ваш запрос является строкой, но возможно ли это, если это sqlite3_stmt?
Примечание: sql — моя строка выбора

            DatabaseCallback* pCallback;
sqlite3_stmt *stmt;
const char *pzTest;
int selectCommand = sqlite3_prepare_v2(database_, sql.c_str(), strlen(sql.c_str()), &stmt, &pzTest);

if(selectCommand == SQLITE_OK)
{
//Add the parameter values
int parameterPosition = 1;

if(parameters.size() > 0)
{
size_t count = parameters.size();
for(string str : parameters)
{
int returncode = sqlite3_bind_text(stmt,parameterPosition, str.c_str(), strlen(str.c_str()),SQLITE_TRANSIENT);
parameterPosition++;
}

}
}

sqlite3_step(stmt);
sqlite3_finalize(stmt);

1

Решение

Вы должны позвонить sqlite3_step несколько раз, и получите значения с sqlite3_column_ * функции на каждом этапе.

Если вы действительно хотите иметь такое же поведение, как sqlite3_execпросто скопируйте его реализация.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]