qt遍历mysql表数据结构_非常齐全的QT数据库操作详解

#include

QT += sql

QSqlDatabase类实现了数据库连接的操作

QSqlQuery类用来执行SQL语句

QSqlRecord类 封装数据库所有记录

第一:QSqlDatabase类

QSqlDatabase db =

QSqlDatabase::addDatabase("QSQLITE"); 采用QSQLITE数据库,QMYSQL数据库有问题?

db.setHostName("localhost"); //设置数据库主机名 db.setDatabaseName("test"); //设置数据库名 db.setUserName("root"); //设置数据库登入用户名 db.setPassword("123456"); //设计数据库登入密码 db.open()打开数据库连接

db.close();//释放数据库

QStringList drivers =

QSqlDatabase::drivers();//静态成员函数,是类的成员函数,不是对象的.返回所有可用的数据库驱动程序的清单

drivers.removeAll("QMYSQL3"); //删除列表中的项

foreach(QString driver, drivers) //遍历数据库驱动 ,测试数据库驱动种类

qDebug()

<< “\t” << driver;

建立数据库文件

QSqlDatabase db =

QSqlDatabase::addDatabase("QSQLITE");

db.setDatabaseName("database.db");

if(!db.open()) return false;

QSqlQuery

query;

query.exec("create table Login(id INTEGER PRIMARY

KEY autoincrement, " //id会自动增加,因为这里不能重复,否则数据库无法修改

"goods int, store int, time nvarchar(50), type

int, place nvarchar(50),temperature nvarchar(10)

)");

第二:QSqlQuery类,查询数据库,插入值到数据库等操作数据库

QSqlQuery query; query.prepare("INSERT INTO T_USER (name, age) VALUES (:name,

:age)"); //准备执行SQL查询

query.bindValue(":name",

"justin"); //在这定占位符上确定绑定的值

query.bindValue(":age", 33); query.exec();

QSqlQuery query; //以下执行相关QSL语句

query.exec(“create table student(id int primary key,name

varchar)”);

//新建student表,id设置为主键,还有一个name项

query.exec(“insert into student values(1,’xiaogang’)”);

query.exec(“insert into student values(2,’xiaoming’)”);

query.exec(“insert into student values(3,’xiaohong’)”);

//向表中插入3条记录

query.exec(“select * from student”); 来查询出表中所有的内容。其中的SQL语句“select * from

student”中“*”号表明查询表中记录的所有属性。而当query.exec(“select * from

student”);

这条语句执行完后,我们便获得了相应的执行结果,因为获得的结果可能不止一条记录,所以我们称之为结果集。

while(query.next())

QString name = query.value(0).toString();

//返回"name"字段的索引值"justin",value(i)返回i字段的值,0表示name,1表示age

int id = query.value(1).toInt();

seek(int n) :query指向结果集的第n条记录。指定当前的位置

first() :query指向结果集的第一条记录。

last() :query指向结果集的最后一条记录。

next() :query指向下一条记录,每执行一次该函数,便指向相邻的下一条记录。

previous() :

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值