QTableView 操作SQLite

1、通过QSqlQueryModel进行数据表只读(QSqlQueryModel不能写入)操作:

QSqlQueryModel* model = new QSqlQueryModel();

model->setEditStrategy(QSqlTableModel::OnManualSubmit);

QSqlQuery query;
query.prepare(QString("SELECT id,name,value FROM app_param"));
if(query.exec())
{
   model->setQuery(query);
}

tableView->setModel(model);

2、通过QSqlTableModel进行数据表读写操作:

QSqlTableModel* tableModel = new QSqlTableModel();
//model->setEditStrategy(QSqlTableModel::OnManualSubmit);//设置是手工提交数据
tableModel->setTable("app_param");//数据表名
//tableModel->setFilter(QString("name like '%%1%' AND description like '%%2%'").arg(searchitem1).arg(searchitem2));//模糊查询
tableModel->setFilter(QString("id=%1").arg(1));//过滤id为1的数据
tableModel->select(); //查询
tableModel->setHeaderData(0, Qt::Horizontal, QObject::tr("id")); //字段命名
tableModel->setHeaderData(1, Qt::Horizontal, QObject::tr("参数名称"));//字段命名
tableModel->setHeaderData(2, Qt::Horizontal, QObject::tr("参数值"));//字段命名

tableView->setModel(tableModel);

猜你喜欢

转载自my.oschina.net/zhizhisoft/blog/1813273
今日推荐