一、基本用法:
QT中自带的数据库--QSQLITE。使用数据库前,需要创建数据库,并打开数据库,随后,建立数据库连接。
创建数据库:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE", "sqlite1"); db.setDatabaseName(".//qtDb.db");
连接数据库:
QSqlDatabase db = QSqlDatabase::database("sqlite1");
QSqlQuery query(db);
创建表:
query.exec("create table 表名(" "id1 char(11)," "id2 int," "id3 int(11))");
删除表:
query.exec("drop table 表名");
向表中插入数据项语句:
QString("insert into 表名 values('1%','2%',...)").arg(参数1).arg(参数2)...;
向表中删除数据项语句:
QString("delete from 表名 where id=‘%1’").arg(参数1);
在表中查询数据项语句:
QString("select id1 from 表名 where id2='%1'").arg(参数);
更新表语句:
QString("update 表名 set id1=‘%1’ where id2='%2'").arg(参数1).arg(参数2);
上述语句,需结合下列语句使用生效:
- QString str=QString("操作").arg(可能需要的参数);
- query.exec(str);
二、QTableView获取某行某列数据
代码如下:
获取鼠标选中的单元格所在的行数
int a=ui.tableView->currentIndex().row();
获取鼠标选中单元格所在行的第一个单元格的数值
a=model->data(model->index(a, 0)).toInt();
三、将数据库创建的表格在QTableView控件中显示
(这里省略了model的定义,在.h文件中定义一下即可)
model = new QSqlTableModel();
model->setTable("student"); //设置关联的表
model->select(); //全部选中待显示的内容
ui.tableView->setModel(model); //在控件中显示model的数据