0
我遇到了一個問題,我的2個測試行中只有一行將以C++輸出。我的代碼是:SQLite3/C++只輸出一行數據
#include <cstdio>
#include <sqlite3.h>
#include <windows.h>
#include <wincrypt.h>
#include <string>
#include <vector>
#include <iostream>
using namespace std;
/*Definitions*/
sqlite3 *db;
void *arg;
char *err;
const char* stmt = "SELECT * from table";
/*End of Definitions*/
int exec(void *arg, int argc, char **argv, char **column) {
int i;
for(i = 0; i < argc; i++) {
cout << column[i] << ": " << argv[i] << endl;
}
cout << "------" << endl;
}
int main() {
int rc = sqlite3_open("test.sqlite", &db); /*Open db "test.sqlite"*/
if(!rc) {
while(true) {
sqlite3_exec(db, stmt, exec, arg, &err);
if(err) {
break;
}
}
}
/*Ending Stuff (NOTHING BEYOND THIS POINT)*/
cin.get();
return 0;
}
我沒有收到任何錯誤;它純粹只是輸出第一行。 cout << err << endl;
不會輸出任何內容。任何幫助表示讚賞,謝謝。另外,我在2天前發了一篇文章,但由於我沒有得到幫助,我正在轉貼。 @CL。偶然發表評論我以前的帖子說我的SQL是不正確的,但我仍然沒有弄清楚他的意思
@CL。我甚至承認這是重複的,因爲你幾乎不給我任何方式來解決我的問題。 –