qt连接数据库

1、新建类
在这里插入图片描述
2、在db_connecton.h文件中添加以下代码

#ifndef DB_CONNECTION_H
#define DB_CONNECTION_H

#include<QMessageBox>
#include<QSqlDatabase>
#include <qdebug.h>
#include <QSqlError>
#include <QSqlQuery>
#include "QSqlDatabase.h"

//创建一个默认的连接,即只有一个连接
static bool createConnection()
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");  //数据库类型
    db.setHostName("localhost");   //主机名
    db.setDatabaseName("test");   //数据库名称
    db.setUserName("root");    //用户名
    db.setPassword("5oMacE9uQP%x");   //密码
    if (!db.open())
    {
        QMessageBox::critical(0, QString::fromLocal8Bit("错误"),
            QString::fromLocal8Bit("数据库连接失败"),
            QMessageBox::Cancel);
        return false;
    }
    db.open();
    return true;
}


#endif // DB_CONNECTION_H

如果报错,就打开Qt project setting
在这里插入图片描述
选中sql
在这里插入图片描述
然后再运行,就可以了
3、在main中添加
在这里插入图片描述
如果没有弹出
在这里插入图片描述
在这里插入图片描述
那就是正常连接了
如果弹出连接失败,首先看下自己数据库打开了没;管理员身份运行cmd,输入net start mysql,打开数据库;
如果数据库已经打开,确定一下自己的账号密码有没有问题;
如果还是没问题那可能就是安装的时候没装好
可以看看之前的安装教程:点击

4、基本操作:

(1)查询:

//查询数据库中所有表的名称
    QStringList tables = db.tables();
    foreach(QString table, tables)
        qDebug()<<table;

//ODBC查询数据
    QSqlQuery result = db.exec(" select * from users");
    while(result.next()){
        qDebug()<<"user_id:"<<result.value("user_id").toInt();
        qDebug()<<"name:"<<result.value("name").toString();
        qDebug()<<"password:"<<result.value("password").toString();
        qDebug()<<"score:"<<result.value("score").toInt()<<endl;

(2)插入

//ODBC插入数据
    result.clear();
    bool result_successed = result.exec("insert into users(name,password,score) values ( 'joe2y','123456',0)");

    if(result_successed){
        qDebug()<<"插入成功!";
    }else {
        qDebug()<<"插入失败!";

(3)修改

//ODBC更新数据
    result.clear();
    bool result_successed2 = result.exec("update users set score=10 where user_id=2");

    if(result_successed2){
        qDebug()<<"更新成功!"<<endl;
    }else{
        qDebug()<<"更新失败!"<<endl;
    }

可以直接仿照连接的函数,把写数据库代码都封装在db_connection.h中;
比如
在这里插入图片描述
在登录按钮的槽函数中添加:
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值