【问题标题】:How to execute writefile function in sqlite3 database using C++如何使用 C++ 在 sqlite3 数据库中执行 writefile 函数
【发布时间】:2018-06-12 15:52:58
【问题描述】:

我正在尝试使用 C++ 函数从 sqlite3 数据库中转储文件。 我在终端命令上试过这个,它工作得很好,但在这里它没有执行。

errmsg=: 没有这样的功能:writefile

bool Database::download(string username, string filename){

    string query = "SELECT USERNAME FROM FILES WHERE USERNAME='"+username+"';";
    int rc = sqlite3_exec(dbFile,query.c_str(),private_callback,(void *)data,&errmsg);
    if(rc==SQLITE_OK){
        cout<<"this username dont have any uploaded files!"<<endl;
        return false;

    }
    else{
        query = "SELECT writefile('"+filename+"',FILE) FROM FILES WHERE USERNAME='"+username+"' AND FILENAME='"+filename+"';";
        rc = sqlite3_exec(dbFile,query.c_str(),private_callback,(void *)data,&errmsg);

        if(rc!=SQLITE_OK){
            cout<<errmsg<<endl;
            return false;
        }
        elsereturn true;
    }
}

【问题讨论】:

标签: c++ sqlite dump


【解决方案1】:

documentation 说:

请注意,readfile(X) 和 writefile(X,Y) 函数是扩展函数,并未内置到核心 SQLite 库中。这些例程在SQLite source code repositoriesext/misc/fileio.c 源文件中以loadable extension 的形式提供。

【讨论】:

    猜你喜欢
    • 2023-04-11
    • 2021-08-27
    • 2017-08-08
    • 1970-01-01
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    相关资源
    最近更新 更多