Qt SqliteHelper , QSqlDatabase和QSqlQuery实现

看到一篇关于Qt使用Sqlite的教程贴, 稍微改了下封装起来

原帖地址:    https://www.cnblogs.com/xia-weiwen/archive/2017/05/04/6806709.html



遇到一个头疼的bug, 调试了一个上午

//bug 需要在方法中重新定义, 不然会出现 "Driver not loaded" 的错误

QSqlQuery sql_query;

这个对象要在类成员函数中定义,不能在头文件声明,不然会出现找不到驱动的错误


我也不知道为什么



开始贴代码

文件目录


main.cpp

#include <QtCore/QCoreApplication>
#include "sqlitehelper.h"
#include <QDebug>
#include <QStringList>
 
#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>
void dbTest();
void dbTest1();
 
int main(int argc, char *argv[])
{
 
    QCoreApplication a(argc, argv);
    
    dbTest();
 
 
 
    return a.exec();
}
 
void dbTest()
{
 
    // 枚举可用驱动
    qDebug() << QSqlDatabase::drivers();
 
    SqliteHelper sqliteHelper;
    sqliteHelper.createDatabase();
    sqliteHelper.open();
 
    int ID;
    ID = sqliteHelper.getMaxId();
    QString cmd;
    cmd = QString("INSERT INTO Log VALUES(%1,
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以通过以下步骤来使用QtSQLite实现用户登录和管理: 1. 创建数据库:首先,使用SQLite命令或SQLite管理工具创建一个数据库文件(例如,user.db)用于存储用户信息。在数据库中创建一个表(例如,user_table)来存储用户的用户名和密码。 2. 创建Qt项目:在Qt中创建一个新的项目,选择合适的项目模板(例如,Qt Widgets应用程序)。 3. 导入SQLite库:在Qt项目中引入SQLite库,以便能够与SQLite数据库进行交互。你可以使用Qt提供的QSqlDatabase类来实现与数据库的连接。 4. 创建登录界面:设计一个登录界面,包括用户名和密码的输入框以及登录按钮。 5. 实现登录功能:在登录按钮的点击事件中,获取输入的用户名和密码。使用QSqlQuery类执行查询语句,检查输入的用户名和密码是否与数据库中的记录匹配。如果匹配成功,则登录成功;否则,显示错误消息。 6. 创建用户管理界面:设计一个用户管理界面,用于添加、编辑和删除用户。 7. 实现用户管理功能:在用户管理界面中,你可以使用QTableView显示数据库中的用户列表,并提供添加、编辑和删除按钮。通过QSqlTableModel类或自定义的模型类来实现与数据库的交互。 8. 添加用户:在添加按钮点击事件中,获取输入的用户名和密码,并将其插入到数据库中的user_table表中。 9. 编辑用户:在编辑按钮点击事件中,获取选定的用户记录,并允许对用户名和密码进行修改。通过执行更新语句将修改后的数据保存到数据库中。 10. 删除用户:在删除按钮点击事件中,获取选定的用户记录,并执行删除语句将其从数据库中删除。 以上是一个基本的实现思路,你可以根据具体需求进行更多的功能扩展和优化。需要注意的是,在实际应用中,密码应该以加密的形式存储在数据库中,以提高安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值