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());
}