您当前的位置: 首页 >  sql

wendy_ya

暂无认证

  • 0浏览

    0关注

    342博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Qt实战案例(25)(序)——利用QSQL相关类实现对SQLite数据库的增删改查操作的详细介绍

wendy_ya 发布时间:2022-04-10 10:19:09 ,浏览量:0

上文Qt实战案例(25)——利用QSQL相关类实现对SQLite数据库的增删改查操作介绍了利用SQLite数据库的基本操作和利用QSQL对数据库进行增删改查的基本操作,本文再次基础上对其进行更加详细的介绍。

目录
    • 一、项目介绍
    • 二、项目基本配置
    • 三、UI界面设计
    • 四、主程序实现
      • 4.1 pro文件
      • 4.2 main.cpp文件
        • 1.建立数据库
        • 2.打开数据库
        • 3.关闭数据库
        • 4.操作数据库
          • 例1:创建表格
          • 例2:插入数据
          • 例3:修改数据
          • 例4:查询数据
          • 例5:删除与清空
    • 五、效果演示

一、项目介绍

利用Qt对SQLite数据库完成数据的增、删、改、查等操作。

二、项目基本配置

新建一个Qt案例,项目名称为“SQLiteTest”,基类选择“QWidget”,取消创建UI界面复选框的选中状态,完成项目创建。

三、UI界面设计

无UI界面

四、主程序实现 4.1 pro文件

在SQLiteTest.pro文件中添加如下代码:

QT+=sql
4.2 main.cpp文件 1.建立数据库

检查连接、添加数据库驱动、设置数据库名称、数据库登录用户名、密码:

QSqlDatabase database;
if (QSqlDatabase::contains("qt_sql_default_connection"))
{
    database = QSqlDatabase::database("qt_sql_default_connection");
}
else
{
    database = QSqlDatabase::addDatabase("QSQLITE");//创建SQLite数据库
    db.setHostName ("SQLite-001") ;//设置数据库主机名
    database.setDatabaseName("MyDataBase.db");//设置数据库名
    database.setUserName("XingYeZhiXia");//设置数据库用户名
    database.setPassword("123456");//设置数据库密码
}
  1. 第一行中,建立了一个QSqlDatabase对象,后续的操作要使用这个对象。
  2. if语句用来检查指定的连接(connection)是否存在。这里指定的连接名称(connection name)是qt_sql_default_connection,这是Qt默认连接名称。实际使用时,这个名称可以任意取。如果判断此连接已经存在,那么QSqlDatabase::contains()函数返回true。此时,进入第一个分支,QSqlDatabase::database()返回这个连接;如果这个连接不存在,则进入else分支,需要创建连接,并添加数据库。
  3. 在else分支第一行,addDatabase()的参数QSQLITE是SQLite对应的驱动名,不能改。而且需要注意的是,addDatabase()的第二个参数被省略了,第二个参数的默认参数就是上面提到的Qt默认连接名称qt_sql_default_connection。如果需要使用自定义的连接名称(如果程序需要处理多个数据库文件的话就会这样),则应该加入第二个参数,例如
database = QSqlDatabase::addDatabase("QSQLITE", "my_sql_connection);

这个时候,如果在另一个地方需要判断my_sql_connection连接是否存在,就应该使用if (QSqlDatabase::contains(“my_sql_connection”))

  1. else分支第二行中,setDatabaseName()的参数是数据库文件名。如果这个数据库不存在,则会在后续操作时自动创建;如果已经存在,则后续的操作会在已有的数据库上进行。
  2. else分支后面两行,设置用户名和密码。用户名,密码都可以随便取,也可以省略。
2.打开数据库

使用open()打开数据库,并判断是否成功。注意,在第一步检查连接是否存在时,如果连接存在,则在返回这个连接的时候,会默认将数据库打开。

if (!database.open())
{
    qDebug()             
关注
打赏
1659256378
查看更多评论
0.0420s