2015-11-19 149 views
0

我正在從一個項目中獲取來自sqlite3數據庫的數據,該數據庫是我創建的,用於實例化與表(table1,table2,table3)相關的每個記錄的對象。 。從Sqlite3數據庫中獲取表創建一個對象C++

比方說,table1是具有id和name的記錄的藝術家。我已經使用文本文件填充了藝術家表格,現在我需要創建一個對象並進行相應的初始化。我也應該實現一個地圖來枚舉「藝術家」類的每個對象。

我很難從哪裏開始如何檢索表中的記錄,以便我可以相應地映射它們。

我們的教授給了我們一個樣本代碼如何通過藝術家的表圈,但我不知道如何循環和地圖

// loop each record in artist table 
    sqlite3_stmt* statement; 
    sqlite3_prepare_v2(db, "SELECT * FROM artist", -1, &statement, NULL); 
    while (sqlite3_step(statement) == SQLITE_ROW) {     // get a record 
    printf(" artist id=%u ", sqlite3_column_int(statement, 0));  // its first field 
    printf(" artist name=%s \n", sqlite3_column_text(statement, 1)); // its second field 
    } 
    sqlite3_finalize(statement); 

任何幫助是非常讚賞的數據。謝謝!

回答

0

您已經擁有了迭代循環表,只是做一個地圖(通過使用它從C++標準庫)來存儲表數據:

map<int, string> artists; 
sqlite3_stmt* statement; 
sqlite3_prepare_v2(db, "SELECT * FROM artist", -1, &statement, NULL); 
while (sqlite3_step(statement) == SQLITE_ROW) 
{ 
    artists[sqlite3_column_int(statement, 0)] = sqlite3_column_text(statement, 1)); 
} 
sqlite3_finalize(statement); 
相關問題