我是wxWidgets和sqlite3的初学者。 我试图在列表视图中显示表中的数据。 该表有几行和三列,我已经在列表视图中创建并插入了列。
以下是我遇到问题的代码部分:
int i = 0;
sqlite3 *db;
sqlite3_stmt *stmt;
sqlite3_stmt *cstmt;
const char* sql = "SELECT *FROM List";
sqlite3_open("MEMBERS.db",&db);
sqlite3_prepare_v2(db,sql,-1,&stmt,NULL);
sqlite3_step(stmt);
while(sqlite3_step(stmt) == SQLITE_ROW)
{
list -> InsertItem(i,sqlite3_column_text(stmt,i));
list->SetItem(i,i+1,sqlite3_column_text(stmt,i+1),-1);
list ->SetItem(i,i+2,sqlite3_column_text(stmt,i+2),-1);
i++;
}
sqlite3_finalize(stmt);
每当我编译并尝试运行它时,我会收到错误说" /src/common/list.cpp(317):断言"断言失败"在Item()中失败:wxListBase :: Item"中的索引无效; 如果我注释掉两个'列表 - > SetItem(...)'行,我没有得到这个错误,我看到第一列中显示的表的第二行中的数据。 我该如何解决这个问题?
答案 0 :(得分:0)
为什么将i+1
和i+2
用作SetItem()
的列索引?这显然是错误的,列编号为0,1和2。