首页
学习
活动
专区
圈层
工具
发布

数据库-SQLite简明教程

建立数据库链接,打开创建表 [1]初始设置 [2]打开数据库 [3]创建表格 2.2. 插入数据 2.3. 更新数据 2.4. 查询数据 2.5. 查询最大ID 2.6. 删除数据 2.7....[3]创建表格 对数据库的操作,都是用SQLite的语句完成的,把这些指令以QString类型,通过QSqlQuery::prepare()函数,保存在QSqlQuery对象中。...注意: 其中IF NOT EXISTS是说明:如果已经有了表RTData就不创建了,不加这句,如果数据库文件中已经有了表RTData,会报错。...,在调用getItem()时,被new int lenBuf; ID = 2; int maxID; myDb.findMaxID(maxID);//获取这个表的最大ID,作为上限 qDebug("maxID...} } 先用isOpen()判断数据库是否打开,然后在调用close()进行关闭,这些函数都是QSqlDatabase的类成员函数。

3.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C++ Qt开发:QSqlDatabase数据库组件

    如果数据库连接不存在,会创建一个新的连接。如果open为true,则尝试打开数据库连接。...QSqlDatabase::close() 关闭数据库连接。 QSqlDatabase::isOpen() 判断数据库连接是否打开。返回true表示连接已打开,false表示连接未打开。...,我们通过create table语句创建一个LyShark的数据表,并插入三个字段,分别是id,name,age,当点击初始化时则会使用QSQLITE引擎,在当前目录下生成一个名为database.sqlite...在查询数据时,我们只需要通过QSqlQuery得到完整的数据表记录条数,然后就可以使用QSqlRecord来创建一个查询对象,此时每次调用query.next()都会向后遍历一行记录,通过rec.indexOf...则可以将数据库中的数据输出到组件中显示,如下图所示; 1.5 更新表中记录 最后一项是对记录的更新,其实更新记录同样是使用exec()函数,只不过是将插入语句修改为了update而已,如下代码通过数据库查询并根据特定条件填充了界面上的两个文本框

    2.7K11

    C++ Qt开发:数据库与TableView多组件联动

    在Qt中,通常我们不会在TableView等组件中保存数据,一般会将这些数据存储至数据库或者是文件中保存,当使用时则动态的在数据库中调出来,以下案例将实现,当用户点击并选中TableView组件内的某一行时...要实现联动涉及几个主要步骤:建立数据库连接、创建模型、设置TableView、捕捉TableView的选中信号、查询并关联数据、更新LineEdit和ListView,首先我们在UI界面中绘制所需控件,...用于存储学生所管理的IP地址,我们将表中的name进行关联,每个学生名下存储有不同的地址; 创建两个表结构总结起来代码如下所示,通过分别调用多次db.exec()函数实现创建数据表,并通过QSqlQuery...初始化UI界面很容易实现,首席按初始化表结构,通过调用封装好的InitMultipleSQL可以直接初始化并将数据保存至database.db文件中,在主程序中我们一次执行如下操作来实现数据的初始化与展现...打开数据库 使用 SQLite 数据库,并尝试打开名为 "database.db" 的数据库文件。如果打开失败,将输出错误信息并返回。需要注意确保数据库文件存在且可访问。

    1.7K10

    42.QT-QSqlQuery类操作SQLite数据库(创建、查询、删除、修改)详解

    QT自带SQLITE数据库,不需要再安装 QTDS在Qt4.7起已经被移除 1.QtSql 要使用QtSql 模块的话,需要在.pro文件中添加这么一句: QT += sql 2.QSqlDatabase...创建成功后,该文件默认为空的,然后就可以使用QSqlQuery类来操作该数据库, QSqlQuery类使用的是SQL语句,如果只需要使用高层次的数据 库接口(不关心 SQL 语法),我们可以选择 QSqlTableModel...比如: QSqlQuery query; query.exec("DROP TABLE students"); //删除名为students的表 4.接下来,我们讲讲如何导入数据 创建表: query.exec...,删除后则只能使用CREATE TABLE来重新创建表 TRUNCATE: 在SQLite中没有该语句,在MySQL中有该语句,用来清楚表内数据,但是表结构不会删除....8.改表内容 改表内容一般用下面两个语句: UPDATE : 用来修改表中内容,可以通过WHERE语句来指定修改 ALTER TABLE: 用来重命名表,或者在已有的表中添加新的一列 8.1

    15.1K51

    Qt(C++)使用SQLite数据库完成数据增删改查

    实现功能: 创建 SQLite 数据库表,用于存储宠物投喂器上传的数据。 实现对数据库表中数据的插入操作,即将从宠物投喂器接收到的数据存储到数据库中。...(2)创建数据库连接:使用 QSqlDatabase 类可以在 Qt 中创建一个数据库连接。需要设置数据库类型(如 “QSQLITE”),以及数据库文件路径等参数。...(3)打开数据库:使用 QSqlDatabase 类的 open 函数可以打开数据库连接。在成功打开数据库后,可以执行 SQL 查询语句,读取和修改数据库中的数据。...随后,执行 SELECT 查询语句读取表中的数据,并将结果输出到控制台中。 (4)关闭数据库:当不再需要使用数据库时,应该使用 close 函数关闭数据库连接,以释放资源。..."; return false; } // 创建 petfeeder 表 QSqlQuery query; bool ret = query.exec("

    1.9K60

    SQLite数据库实现数据增删改查

    实现功能: 创建 SQLite 数据库表,用于存储宠物投喂器上传的数据。 实现对数据库表中数据的插入操作,即将从宠物投喂器接收到的数据存储到数据库中。...(2)创建数据库连接:使用 QSqlDatabase 类可以在 Qt 中创建一个数据库连接。需要设置数据库类型(如 "QSQLITE"),以及数据库文件路径等参数。...(3)打开数据库:使用 QSqlDatabase 类的 open 函数可以打开数据库连接。在成功打开数据库后,可以执行 SQL 查询语句,读取和修改数据库中的数据。...随后,执行 SELECT 查询语句读取表中的数据,并将结果输出到控制台中。 (4)关闭数据库:当不再需要使用数据库时,应该使用 close 函数关闭数据库连接,以释放资源。...";          return false;     }      // 创建 petfeeder 表      QSqlQuery query;      bool ret = query.exec

    72840

    C++ Qt开发:SqlRelationalTable关联表组件

    1.1 ComboBox首先我们来实现一个简单的联动效果,数据库组件可以与ComboBox组件形成多级联动效果,在日常开发中多级联动效果应用非常广泛,例如当我们选择指定用户时,让其在另一个ComboBox...在进行联动之前需要创建两张表,表结构内容介绍如下:User(id,name)表:存储指定用户的ID号与用户名UserAddressList(id,name,address)表:与User表中的用户名相关联...,首先我们需要创建一个表并插入几条测试记录,运行如下代码实现建库建表.创建一张新表,表结构内容介绍如下:LyShark(name,age)表:存储指定用户名与用户年龄在主构造函数中我们可以直接通过QSqlQueryModel...它仅仅只是QSqlTableModel的一个子类,其支持在关系数据库表之间建立关系,建立关联时我们只需要使用setRelation方法即可。...:打开数据库连接创建一个 SQLite 数据库连接,并指定了数据库文件的路径。

    83410

    Qt数据库sqlite总结

    //向表中插入3条记录  query.exec(“select * from student”);  来查询出表中所有的内容。...yafei10')");//在模型中插入一条记录   model->setQuery("select * from student"); //再次查询整张表   view->show(); //再次进行显示...使QSqlQueryModel类  创建的数据库能读写,继承QAbstractItemModel类 刚开始我们就讲到,这个模型默认是只读的,所以我们在窗口上并不能对表格中的内容进行修改。...//在tableview表格中显示数据库数据 model = new QSqlTableModel(this); model->setTable("student");  //设置"student"的数据库表格...course表的id属性的外键,并将其显示为course表的name属性的值(course表在id上显示为name属性值) 如果用户更改课程属性,那么他只能在课程表中有的课程中进行选择,而不能随意填写课程

    3.6K20

    Qt使用kingbase数据库存储数据(完成考勤系统数据增删改查)

    [4]启动服务:打开“服务”管理器,找到Kingbase相关的服务并启动。 [5]测试连接:在命令行中输入Kingbase命令,测试是否成功连接到了数据库。也可以使用数据库客户端工具测试连接。...(2)创建Kingbase数据库用户,并授权访问数据库; 在Kingbase数据库中,创建用户并授权访问数据库的步骤: [1]创建用户:使用CREATE USER语句创建用户,并设置密码。...[5]测试权限:使用“user1”用户登录数据库,测试是否可以正常访问数据库中的表。...(3)在Qt中添加Kingbase驱动程序,并连接数据库。...在最终的代码中添加以下行: #include #include QSqlQuery> #include QSqlDatabase db = QSqlDatabase

    69520

    Qt数据库与QTableWidget结合的增删改查

    引入SQL模块在Qt项目文件(.pro文件)中,加入SQL模块: QT += sql 3. Ubuntu下数据库SQLite查看软件 SQLite database browser ?...二、 程序功能简介 程序先添加数据库、设置数据库名称,之后判断‘student’table 是否存在,不存在则创建;创建后添加数据作为QTableWidget的初始化显示。...setDatabaseName()的参数是数据库文件名。如果数据库不存在则自动创建;如果存在,则之后的操作会在已有的数据库上进行。 用户名,密码可以随便取,也可以省略,本例子中省略。...遍历数据库中id和name后显示到QTableWidget上。...小结 之前总结过一个比较简单的SQlite Qt 的用法,这次在之前基础上又完善了一些。之后可以再添加数据库事务的用法以及连接池的用法。

    5.6K10

    CC++ Qt 数据库与ComBox多级联动

    Qt中的SQL数据库组件可以与ComBox组件形成多级联动效果,在日常开发中多级联动效果应用非常广泛,例如当我们选择指定用户时,我们让其在另一个ComBox组件中列举出该用户所维护的主机列表,又或者当用户选择省份时...今天给大家分享二级ComBox菜单如何与数据库形成联动,在进行联动之前需要创建两张表,表结构内容介绍如下: User表:存储指定用户的ID号与用户名 UserAddressList表:与User表中的用户名相关联...db.exec("INSERT INTO User(name) VALUES('admin')"); // 创建第二张表,与第一张表通过姓名关联起来 db.exec("DROP TABLE...')"); db.commit(); db.close(); } 初始化表结构以后就得到了两张表,当程序运行时默认在构造函数处填充第一个ComBox组件,也就是执行一次数据库查询,并将结果通过...当用户选择第一个ComBox选择框时,自动查询数据库中与该选择框对应的字段,并关联到第二个选择框内,代码如下: void MainWindow::on_comboBox_activated(const

    1.1K20

    CC++ Qt 数据库与ComBox多级联动

    Qt中的SQL数据库组件可以与ComBox组件形成多级联动效果,在日常开发中多级联动效果应用非常广泛,例如当我们选择指定用户时,我们让其在另一个ComBox组件中列举出该用户所维护的主机列表,又或者当用户选择省份时...今天给大家分享二级ComBox菜单如何与数据库形成联动,在进行联动之前需要创建两张表,表结构内容介绍如下:User表:存储指定用户的ID号与用户名UserAddressList表:与User表中的用户名相关联...db.exec("INSERT INTO User(name) VALUES('admin')"); // 创建第二张表,与第一张表通过姓名关联起来 db.exec("DROP TABLE...')"); db.commit(); db.close();}初始化表结构以后就得到了两张表,当程序运行时默认在构造函数处填充第一个ComBox组件,也就是执行一次数据库查询,并将结果通过ui...图片当用户选择第一个ComBox选择框时,自动查询数据库中与该选择框对应的字段,并关联到第二个选择框内,代码如下:void MainWindow::on_comboBox_activated(const

    1.2K10
    领券