Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 代码中的sqlite3错误_C++_Sqlite - Fatal编程技术网

C++ 代码中的sqlite3错误

C++ 代码中的sqlite3错误,c++,sqlite,C++,Sqlite,我想在我的c++代码中使用SQLite,所以我包括了SQLite3。在外部*.exe中使用以下代码时,它可以正常工作: void create_Database(char * file_name) { std::ofstream debug("C:\\Users\\Roland-User\\Desktop\\Debug.txt"); //const std::string&filename = file_name; std::string filename = "

我想在我的c++代码中使用SQLite,所以我包括了SQLite3。在外部*.exe中使用以下代码时,它可以正常工作:

void create_Database(char * file_name)
{
    std::ofstream debug("C:\\Users\\Roland-User\\Desktop\\Debug.txt");
    //const std::string&filename = file_name;
    std::string filename = "C:\\Users\\Roland-User\\Desktop\\data";
    std::string appendix = ".database";
    std::string file = filename + appendix;
    debug << "Creating database\n";
    sqlite3 *db;
    char *zErrMsg = 0;
    int rc;
    char * sql;
    rc = sqlite3_open(file.c_str(), &db);
    if(rc)
        exit(-1);
    sql = "CREATE TABLE DATABASE(HEADERDATA INT, WAVENUMBER INT, POSX INT, POSY INT, COUNT INT);";
    rc = sqlite3_exec(db, sql, callback, 0, &zErrMsg);
    if(rc == 1)
    {
        sql = "DROP DATABASE DATABASE;";
        rc = sqlite3_exec(db, sql, callback, 0, &zErrMsg);
        sqlite3_free(zErrMsg);
        sql = "DROP TABLE DATABASE;";
        rc = sqlite3_exec(db, sql, callback, 0, &zErrMsg);
        sqlite3_free(zErrMsg);
        debug << "Having to drop database!\n";
    };
    sql = "CREATE TABLE DATABASE(HEADERDATA INT, WAVENUMBER INT, POSX INT, POSY INT, COUNT INT);";
    rc = sqlite3_exec(db, sql, callback, 0, &zErrMsg);
    if(rc!=SQLITE_OK)
    {
        debug << "Still there are errors, I am confused!\n";
        debug << "With error codes: " << rc << '\n';
        sqlite3_free(zErrMsg);
        exit(-1);
    };
    debug << "Finished with creating database\n";
    debug.close();
    sqlite3_close(db);
};
void创建数据库(char*文件名)
{
std::ofstream debug(“C:\\Users\\Roland User\\Desktop\\debug.txt”);
//const std::string&filename=文件名;
std::string filename=“C:\\Users\\Roland User\\Desktop\\data”;
std::string appendix=“.database”;
std::string file=文件名+附录;

调试为什么忽略错误消息?这是什么意思?好吧,这个错误代码告诉我没有数据库或者有SQL错误。但是我刚刚创建了一个数据库,所以应该有一个。我怎么才能找到SQL错误呢?我是说
zErrMsg
。阅读。@CL:好的,这给了我更好的错误反馈,谢谢你的回复我记得我!