db c ++中的错误值

时间:2017-07-09 08:46:33

标签: c++ sql sqlite

我正在用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应用程序中,它给出了正确答案,但此功能没有。我无法在此函数的返回值中找到模式。 这个问题,返回错误的值,发生在我的几个类似的功能,除了这个。

有人可以帮助我并指出我在哪里以及在这里做错了什么?

0 个答案:

没有答案