qt数据库用户接口
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.QSqlQueryModel *model = new QSqlQueryModel();
2.model->setQuery("SELECT table_er_id, table_group.group_name FROM
table_group,"
3."table_user WHERE table_group.group_id=table_user.group_id");
4.
5.for(int i = 0; i < model->rowCount(); i++)
6.{
7.qDebug() << model->record(i).value("user_id").toString();
8.qDebug() << model->record(i).value("group_name").toString();
9.}
1.sqlite3可以有多种多表查询方法,比如 select (select * from table2) from table1
where xxx=xxx;
1.select table1.abc from table1,table2 where table1.xxx=table
2.xxx;
1.select table1.abc from table1 inner join table2 on table1.xxx=table
2.xxx;
1.QSqlTableModel tablemodel; //单表查询
2.tablemodel.setTable("table_user"); //绑定表
3.tablemodel.setFilter("group_id=1"); //设置查询条件
4.tablemodel.select(); //查询
5.for(int i = 0; i < tablemodel.rowCount(); i++)
6.{
7.qDebug() << tablemodel.record(i).value(1).toString();
8.}
1.int UserID_Index = tablemodel.record().indexOf("user_id");
2.qDebug() << tablemodel.record(i).value(UserID_Index).toString();
1.tablemodel.record(i).value("user_id").toString();
1.QSqlRelationalTableModel *model = new QSqlRelationalTableModel();
2.model->setTable("table_user");
3.model->setRelation(1, QSqlRelation("table_group", "group_id",
"group_id")); //表明table_group.group_id是table_group的主键
4.model->setHeaderData(0, Qt::Horizontal, tr("工号"));
5.model->setHeaderData(1, Qt::Horizontal, tr("组别"));
6.
7.if(!model->select())
8.{
9.QMessageBox::critical(this, tr("错误提示"), model->lastError().text(),
QMessageBox::Cancel);
10.}