[英]formatting sqlite3_exec result
你好,我將如何格式化結果
sql = "SELECT * from COMPANY ORDER BY ID";
rc = sqlite3_exec(db, sql, callback, (void*)data, &zErrMsg);
我讀到這里有它的控制台命令https://www.tutorialspoint.com/sqlite/sqlite_commands.htm
所以我試過了
std::string c3 = "sqlite>.header on";
std::string c1 = "sqlite>.mode column";
cout << system(c3.c_str()) << endl;
cout << system(c1.c_str()) << endl;
但這並不能獲得像結果這樣的表格格式
我該怎么做? 我已經用谷歌搜索了 3 個小時,但仍然沒有找到任何地方
您無法從sqlite3
用戶程序控制格式,因此使用system()
調用它不會控制 C API。
您應該使用callback
函數執行此操作。 來自同一個教程點站點:
static int callback(void *data, int argc, char **argv, char **azColName){
int i;
fprintf(stderr, "%s: ", (const char*)data);
for(i = 0; i<argc; i++){
printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
}
printf("\n");
return 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.