導出sqlite3的表到文件我在Fedora的14.I我能表導出到使用這樣的命令提示符的文件中使用的sqlite3版本3.6.23.1,使用「C」執行API
sqlite3 data.db
sqlite> .output sample.txt;
sqlite> select *from sample;
我希望在應用程序級別處理這種情況。
我正在使用sqlite3開源「C」API在應用程序級別執行此命令。
execute("delete from sample:);// working fine
execute(".output sample.txt"); //Not working
其投擲的錯誤稱爲"SQL error in sqlite3_exec: near ".": syntax error"
請建議我我如何創建要導入的文件使用此API的數據。
API的函數定義。
int execute(const char* fmt, ...)
{
char *err_messg;
int ret = 0, result = 0;
char sql_string[1024] = ""; //this honestly needs to be more elegant; will do for now
va_list args;
va_start(args, fmt);
ret = vsprintf(sql_string, fmt, args);
va_end(args);
printf("sql_string: %s\n", sql_string);
if (!ret)
result = 0;
else
result = 1;
if (result != -1)
{
if (sqlite3_exec(db_conn, sql_string, NULL, 0, &err_messg) == SQLITE_OK) //Actual API which will work with database.
{
return SUCCESS;
}
else
{
printf("\n SQL error in sqlite3_exec: %s\n", err_messg);
return DBEXCE_FAIL;
}
}
return SUCCESS;
}
訪問謝謝......最後它的工作.. – user1495372
在上面回調函數的文件指針已closed.so我無法讀取該文件。 – user1495372