C++에서 sqlite에 대한 매개 변수 쿼리를 구현하고 있으며 실행할 때 DatabaseCallback을 업데이트하려고합니다. 나는 쿼리가 문자열 일 때 가능하지만 sqlite3_stmt 일 때 가능하다는 것을 알고 있습니까? 참고 : SQL은 당신이 sqlite3_step 여러 번 호출하고, 각 단계에서 sqlite3_column_* 함수 값을 얻을로되어있다sqlite3_stmt를 실행할 때 DatabaseCallback 사용
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);
콜백은 무엇입니까? 'sqlite3_exec'의 의미입니까? –
예. 나는 sqlite3_stmt를 제외하고 콜백 기능을위한 sqlite3_exec를 구현하고 싶다. – user2661463