QT连接数据库(sqlite)

1.SQLite介绍

SQ Lite 是一种无需服务器、无需进行任何配置的数据库,所有的数据表、索引等数据库元素
全都存储在文件里,在应用程序里使用 SQLite 数据库就完全可以当作文件来使用。 SQLite
可以跨平台使用的数据库,在不同平台之间可以随意复制数据库。
SQLite 是开源免费使用的数据库,可以从其官网下载最新版本的数据库驱动安装文件。
SQLite Expert 是他的数据库可视化管理工具。

安装

在这里插入图片描述

2.使用

在这里插入图片描述

3.Qt SQL模块

在这里插入图片描述
在.pro文件中添加 QT += sql

提供的一些类

在这里插入图片描述

4.连接数据库

先给出连接数据库的步骤,其中涉及了出错等的错误警告,下面给出实现的完整程序(以用户登录为案例引入)

1.查看当前支持的数据库的驱动


qDebug()<<QSqlDatabase::drivers();

结果显示

在这里插入图片描述

2.创建一个数据库的文件

QSqlDatabase DB;//创建一个数据库的文件

//加载数据库的文件
QString aFile="./dataBase.db";
if(aFile.isEmpty())
{
    qDebug()<<" 数据库文件加载失败 " ;
    return ;
}

//打开数据库
DB=QSqlDatabase::addDatabase("QSQLITE");//创建QSQLITE数据库连接
DB.setDatabaseName(aFile); //数据库名
if(!DB.open())
{
    //没有数据库文件则创建文件
    qDebug()<<"数据库文件打开失败";
    qDebug()<<DB.lastError().text();//输出错误信息
}
    qDebug()<< " 打开数据库文件成功 " ;

结果

在这里插入图片描述

3.创建自己需要使用的表格

QSqlQuery query(DB);
if(!query.exec("create table user(account varchar(255) primary key, password varchar(255))"))
{
      qDebug() << "Error: Fail to create table."<< query.lastError();
}
else
{
     qDebug() << "Table created!";
}

4.插入数据

//插入数据
QString qs = QString("insert into user(account,password) values('%1','%2')").arg(account).arg(password);

if(query.exec(qs)) //如果插入成功
{
	//消息对话框(警告,提示,错误...)
     QMessageBox::information(this,"注册","注册成功");
}
else
{
      QMessageBox::information(this,"注册","注册失败");
      qDebug()<<query.lastError().text();//输出错误信息
                 
}

5.查看数据

//查看数据库中有的表格的名字
qDebug()<<"查看数据库中所有的表:";
QStringList str_table=DB.tables();
qDebug()<<str_table;
//查询数据库中的数据
qDebug()<<"查看数据库中数据";
query.prepare ("SELECT * FROM user");
query.exec();
while(query.next())
{
     qDebug()<<QString("account:%1,password:%2").arg(query.value("account").toString()).arg(query.value("password").toString());

}

结果

在这里插入图片描述

5.完整演示

点击这里哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值