0
내 sqlite 함수는 다음과 같습니다.sqlite3_exec는 출력을 반환하지 않습니다.
static int callback(void *not_used, int row_num, char **row, char **col_name)
{
for(int i = 0; i < row_num; ++i)
{
printf("%s = %s\n", col_name[i], row[i] ? row[i] : "NULL");
}
return 0;
}
int query(const char *statement)
{
result = sqlite3_exec(database, statement, callback, 0, &message);
if(result != SQLITE_OK)
{
print_error(sqlite3_errmsg(database));
}
return result;
}
그러나 내 쿼리에는 값이 표시되지 않습니다.
SQL 쿼리는 대소 문자 오류를 누군가 는 실수를하면 내가 빈 집합을 반환하는 코드를 변경하려면 어떻게
"select * from app_list where name='evince'" // it should be Evince
이 (내가 콜백 또는 쿼리를 수정해야하는 부분) 나는 변경하는 tryied 콜백
if(row_num >0)
{
for() ...
}
else
{
printf("Empty set\n");
}
하지만 그 밖의 것은 실행되지 않습니다.
sqlite3_exec()는 대/소문자 구분 오류가 발생하더라도 SQLite_OK를 반환합니다.
카운트하지 않고 내 문제를 해결했다. 나중에 확인하십시오. 커서 인터페이스를 사용하는 것이 좋습니다. –