2

我的数据库:

在此处输入图像描述

我的代码:

QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("sqlite.db");
db.open();

QSqlQuery query;
query.exec("SELECT * from Expenses");

QSqlTableModel *model = new QSqlTableModel(0, db);
model->setTable("Expenses");
model->select();

如何获得“2014 年 1 月”的 TOTAL 值?即“1”。

4

2 回答 2

7

http://doc.qt.io/qt-4.8/qsqltablemodel.html#details

 QSqlQueryModel model;
 model.setQuery("SELECT * FROM employee");
 int salary = model.record(4).value("salary").toInt();

http://doc.qt.io/qt-4.8/qsqltablemodel-members.html

http://doc.qt.io/qt-4.8/qsqlquerymodel.html#record

http://doc.qt.io/qt-4.8/qsqltablemodel.html#rowCount

int second_record_total = model->record(1).value("total").toInt();

或者

int row_count = model->rowCount();
int latest_total = model->record(row_count - 1).value("total").toInt();

希望有帮助。

于 2013-12-11T07:02:08.767 回答
3

例如:

QSqlTableModel *userModel=new QSqlTableModel(this);
userModel->setTable("person");
userModel->select();

const int row=0;

qDebug()<<userModel->index(row,9).data().toInt();
于 2017-09-19T09:32:26.587 回答