2015-11-19 151 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); 
相关问题