我正在用c ++工作,我正在使用db。 相关表格如下所示: t_players_answers:
game_id ----整数pk
用户名----文字pk
question_id ----整数pk
player_answer ---- text
is_correct ----整数
answer_time ----整数
我希望得到平均时间的问题,所以我这样做了:
double DBmanagement::avgQTime(string name) const{
string sql = "select avg(answer_time) from t_players_answers where username='" + name + "'";
sqlite3_stmt *stmt;
double re;
sqlite3_prepare_v2(_db, sql.c_str(), -1, &stmt, NULL);
sqlite3_step(stmt);
re= sqlite3_column_double(stmt, 0);
sqlite3_finalize(stmt);
return re;
}
当我尝试行
时select avg(answer_time) from t_players_answers where username='[name]';
在sqlite3应用程序中,它给出了正确答案,但此功能没有。我无法在此函数的返回值中找到模式。 这个问题,返回错误的值,发生在我的几个类似的功能,除了这个。
有人可以帮助我并指出我在哪里以及在这里做错了什么?