Qt链接mysql数据库(一)

前言:在当今IT界大多数都会用到数据存储,今天带领大家进入Qt链接mysql的世界。

一、链接mysql数据库

新建一个QT控制台程序(使用到的头文件包含以下几个)

#include <QCoreApplication>
#include <qsql.h>
#include <QSqlQuery>
#include <QSqlDatabase>
#include <QSqlDriver>
#include <QSqlError>
#include <QDebug>
详细代码如下:

bool OpenDataBase()
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("127.0.0.1");//设置数据库IP
    db.setDatabaseName("mynote");//数据库名字
    db.setUserName("root");//<span style="font-family: Arial, Helvetica, sans-serif;">mysql数据库</span><span style="font-family: Arial, Helvetica, sans-serif;">用户名</span>
    db.setPassword("******");//mysql数据库密码

    bool ok = db.open();
    QSqlQuery q;

    if(!ok)
    {
        return false;
        qDebug() << "Open error:" << q.lastError() << endl;
        exit(1);
    }
    return true;
}

void CreateTable()
{
    QSqlQuery q;
    q.exec("create table if not exists LoginTable (UserName varchar(20) primary key, UserPwd varchar(16) not null)");
}

void ShowData()
{
    QSqlQuery q;
    q.exec("select * from logintable");

    while(q.next())
    {
        QString name = q.value(0).toString();
        QString pwd = q.value(1).toString();
        qDebug()<<QString("Username:%1 Pwd:%2").arg(name).arg(pwd);
    }
}

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    qDebug()<<"available drivers:";
    QStringList drivers = QSqlDatabase::drivers();
    foreach(QString driver, drivers)
        qDebug()<<driver;//显示所有的数据库驱动

    OpenDataBase();//打开数据库
    CreateTable();//创建表
    ShowData();//将数据显示到控制台

    return a.exec();
}
二、运行结果

Qt控制台输出结果

available drivers:

"QSQLITE"

"QMYSQL3"

"QMYSQL"

"QODBC3"

"QODBC"

"Username:879244@163.com Pwd:1456469"

"Username:98562@qq.com Pwd:1111"

"Username:98563@qq.com Pwd:1111"

三、进入mysql数据库查询结果是否一致

Mysql数据库查询过程及结果: 

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mynote             |

| mysql              |

| performance_schema |

| teacher            |

| test               |

+--------------------+

6 rows in set (0.00 sec)

 

mysql> use mynote;

Database changed

mysql> select * from logintable;

+----------------+---------+

| name           | pwd     |

+----------------+---------+

| 879244@163.com | 1456469 |

| 98562@qq.com   | 1111    |

| 98563@qq.com   | 1111    |

+----------------+---------+

3 rows in set (0.00 sec)

 

mysql>


四、总结

  在链接数据库时,链接的数据库是已经存在的数据库,否则,数据库打开失败。





 
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值