sqlite3_exe c возвращает 1, хотя запрос правильный - PullRequest
0 голосов
/ 24 апреля 2020

Вот мой код

std::string dbFileName = "GalleryDB.sqlite";

    int doesFileExist = _access(dbFileName.c_str(), 0);
    int res = sqlite3_open(dbFileName.c_str(), &db);
    if (res != SQLITE_OK) {
        db = nullptr;
        std::cout << "Failed to open DB" << std::endl;
        return -1;
    }
    if (doesFileExist == 0) {
        char* sqlStatement = "CREATE TABLE USERS (ID INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL , NAME TEXT NOT NULL);";
        char** errMessage = nullptr;
        res = sqlite3_exec(db, sqlStatement, nullptr, nullptr, errMessage);
        if (res != SQLITE_OK)
        {
            std::cout << res;
            std::cout << "ERROR! CANT CREATE USERS" << '\n';

        }
}

Хотя мой запрос на создание таблицы пользователей является правильным, и он создает таблицу, которую он всегда возвращает 1. В чем причина? Я сделал что-то неправильно?

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