Sqlite через C не возвращает результаты, где обычный sqlite - PullRequest
0 голосов
/ 08 февраля 2012

Написание программы для извлечения данных из базы данных sqlite не возвращает результатов, несмотря на то, что тот же запрос в sqlite cli возвращает ожидаемые результаты.

#include <stdio.h>
#include <sqlite3.h>

sqlite3 * db;
sqlite3_stmt * locationgetint;

int locationInt(char * string){
    sqlite3_bind_text(locationgetint,1,string,-1,SQLITE_STATIC);
    sqlite3_step(locationgetint);
    int output = sqlite3_column_int(locationgetint,0);
    sqlite3_clear_bindings(locationgetint);
    sqlite3_reset(locationgetint);
    return output;
}

int main(){
    sqlite3_open("db.sqlite3",&db);
    sqlite3_prepare_v2(db,"SELECT id FROM pfs WHERE name='?';",-1,&locationgetint,0);
    printf("%d\n",locationInt("Milky Way")); // Prints 0
    return 0;
}

Но версия Sqlite CLI:

sqlite> SELECT id FROM pfs WHERE name='Milky Way';
625
sqlite> 

1 Ответ

0 голосов
/ 03 марта 2012

Как сказал Шурд, удаление кавычек сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...