我使用QSqlQueryModel
来查询postgresql数据库,我发现使用Infinity
获得的数据库中的所有-Infinity
和model->data(index, Qt::DisplayRole)
值(双精度)都是{ {1}}。我的Qt版本是4.8.3。我怎样才能在我的C ++代码中正确获取inf / -inf值。
答案 0 :(得分:1)
您可能希望在选择查询中检查特殊值,如下所示:
QSqlQuery q("select case field1 when 'Infinity' then '+INF' when '-Infinity' then '-INF' else cast(field1 as varchar(12)) end from table1");
model->setQuery(q);
model->select();
请注意,我还必须将双精度转换为varchar。