VS+Qt数据库的使用

一、基本用法:

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的数据

 

你可能感兴趣的:(数据库)