C++ 在QLabel中显示sql查询的输出

C++ 在QLabel中显示sql查询的输出,c++,qt,qt4,qsqlquery,qsqldatabase,C++,Qt,Qt4,Qsqlquery,Qsqldatabase,我正在编写一个QtGUI应用程序,其中我计划在QLabel中显示sql查询的输出 现在,QTableView模型中的输出足够简单,我可以使用它来完成 QSqlDatabase dbSqlite = QSqlDatabase::addDatabase("QSQLITE"); //these 2 lines for SQLite DB connection dbSqlite.setDatabaseName("/home/aj/test.db"); dbSqlite.setUserName("aj

我正在编写一个QtGUI应用程序,其中我计划在QLabel中显示sql查询的输出

现在,QTableView模型中的输出足够简单,我可以使用它来完成

QSqlDatabase dbSqlite = QSqlDatabase::addDatabase("QSQLITE");   //these 2 lines for SQLite DB connection
dbSqlite.setDatabaseName("/home/aj/test.db");
dbSqlite.setUserName("aj");

QString MyQuerySqlite = ui->sqlite_queryEdit->text();    //take the query from a QLineEdit
dbSqlite.open();    //open db connection
QSqlQuery query(MyQuerySqlite,dbSqlite);

if(query.exec())  //populate in table
{
    this->model1=new QSqlQueryModel();
    model1->setQuery(MyQuerySqlite);
    ui->sqlite_tableView->setModel(model1);

    qDebug()<<QDateTime::currentDateTime()<<"SQLITE QUERY SUCCESS "<<dbSqlite.lastError().text();
}
QSqlDatabase dbSqlite=QSqlDatabase::addDatabase(“QSQLITE”)//这两条线用于SQLite DB连接
setDatabaseName(“/home/aj/test.db”);
dbSqlite.setUserName(“aj”);
QString MyQuerySqlite=ui->sqlite_queryEdit->text()//从QLineEdit中获取查询
dbSqlite.open()//开放数据库连接
QSqlQuery查询(MyQuerySqlite,dbSqlite);
if(query.exec())//填充到表中
{
此->模型1=新的QSqlQueryModel();
model1->setQuery(MyQuerySqlite);
ui->sqlite\u tableView->setModel(model1);

qDebug()您可以使用value方法得到结果。例如:

QString country;
 QSqlQuery query("SELECT country FROM artist");
 while (query.next()) {
     country.append( query.value(0).toString() + " ");

 }
 label->setText(country);
您还可以从model1读取数据。类似于:

label->setText(model1->data(model1->index(0,0),Qt::DisplayRole).toString());

如果要为此使用
QSqlQueryModel
,可以使用
QSqlQueryModel::record(int行)
检索特定记录,然后使用
QSqlRecord::value(int index)
获取字段值:

QString str = model1->record(0).value(0).toString();
label->setText(str);