1.在Pro文件中加入sql资源
QT += core gui sql
这是第一步也是最重要的一步,没有加入sql资源。在包含数据库文件时会报错找不到该文件。
2.创建链接及打开数据库
//包含数据库头文件
#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>
//创建链接,打开数据库
void initDataBase()
{
QSqlDatabase m_database;
m_database = QSqlDatabase::addDatabase("QSQLITE");//添加sql驱动
m_database.setDatabaseName("./db/sqlite.db");//创建数据库文件。sqlite为自己定义的数据库名称
if(m_database.open()){//打开数据库
qDebug()<<"数据库打开成功";
}else{
qDebug()<<"数据库打开失败";
}
}
3.创建数据库表
可以把sqlite.db看成是一个excel文档,数据库表就相当于这个excel文档里的一个sheet页。
void creatDbTable()
{
QString creatSql;
//拼接sql语句
creatSql="create table Person_Table (Name varchar,Age int)";//Person_Table是自己定义的表名。Name和Age是表里包含的信息(可以理解为列,每个人是一行)。varchar和int是对应的数据类型
QSqlQuery sqlquery(m_database);
bool ret=sqlquery.exec(creatSql);//执行sql语句
if(true==ret){
qDebug()<<"数据库表格创建成功";
}
else if(false==ret){
qDebug()<<"数据库表格创建失败";
}
}
创建表的具体数据库语句格式为:CREATE TABLE 表名称 ( 列名称1 数据类型, 列名称2 数据类型, 列名称3 数据类型, .... )
4.插入数据
bool writeData()
{
QString sqlStr;
sqlStr="insert into Person_Table (Name ,Age) values('张三','25')";
QSqlQuery sqlquery(m_database);
if(sqlquery.exec(sqlStr)){
return true;
}
else{
return false;
}
}
插入数据的数据库语句格式为:INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
5.读取数据
void readData()
{
QString sqlStr;
sqlStr="select Age from Person_Table where Name = '张三'";//读取名字为张三的年龄
QSqlQuery sqlquery(m_database);
bool ret=sqlquery.exec(sqlLanguage);
if(ret){
while (sqlquery.next()){
int getAge=sqlquery.value(0).toInt();//参数0为读取数据对应列的索引。比如select Age,Name那么0就是年龄 1就是名字....
}
}
else{
}
}
读取数据的数据库语句格式为:SELECT 列名称 FROM 表名称 WHERE 列 = 值。注:需读取多个列时列名称间用逗号分隔。例:SELECT 列名称1,列名称2 FROM 表名称 WHERE 列 = 值
标签:Sqlite,Qt,database,数据库,sqlquery,入门级,名称,sql,Age From: https://blog.csdn.net/weixin_52739241/article/details/137562812