6、QT的使用——MySQL和QTableView

目录

一、MySQL

1、打开数据库

2、插入数据

3、查询数据

二、QTableView

1、使用mysql

2、虚拟机的主机地址:47.101.128.140

3、工程中的设置

(1)pro中

(2) widget.h

(3)  widget.cpp


一、MySQL

widget.cpp构造函数

1、打开数据库

    //连接数据库
    db = QSqlDatabase::addDatabase("QMYSQL");     //加载MySQL数据库驱动

    db.setDatabaseName("mydatabase");
    db.setHostName("localhost");
    db.setUserName("root");
    db.setPassword("root");

    if (db.open())
    {
        QMessageBox::information(this, "连接提示", "连接成功");
    }
    else
    {
        QMessageBox::warning(this, "连接提示", "连接失败");
    }

2、插入数据

    QString id = ui->idLineEdit->text();
    QString name = ui->nameLineEdit->text();
    QString birth = ui->birLineEdit->text();

    QString sql = QString("insert into student values (%1, '%2', '%3');").arg(id).arg(name).arg(birth);

    QSqlQuery query;
    if (query.exec(sql))
    {
        QMessageBox::information(this, "插入提示", "插入成功");
    }
    else
    {
        QMessageBox::information(this, "插入提示", "插入失败");
    }

3、查询数据

    QSqlQuery query;
    query.exec("select * from student;");
    while (query.next())
    {
        qDebug() << query.value(0);
        qDebug() << query.value(1);
        qDebug() << query.value(2);
    }

若没有成功,则将mysql安装的libmysql.dll(路径MySQL->MySQL Server 5.7—>lib)复制到QT(QT5.8.0->5.8->mingw53_32->bin)的安装目录

二、QTableView

1、使用mysql

(1)登录:mysql -u root -p;
(2)创建数据库:create user "test"@"%" identified by "test";
(3)授权:grant select,insert,create on *.*  to "test"@"%";
(4)退出数据库:exit
(5)mysql -u test -p;
(6)创建数据表:create database mydatabase
(7)使用数据表:use mydatabase
(8)create table student(
                  id integer unsigned primary key,
                  name varchar(16) not null,
                  birth date
)charset utf8;
(9)插入数据:insert  into student values(1,"tom",1999-9-9)
修改配置使得任意一台电脑都可以登录
(10)vim /etc/mysql/mysql.conf.d/mysqld
      vim /etc/mysql/mysql.conf.d/mysqld.cnf
将当中的bind-address = 127.0.0.1(只允许本机登录)
改为bind-address = 0.0.0.0
(11)重启mysql:service mysql restart

2、虚拟机的主机地址:47.101.128.140

3、工程中的设置

(1)pro中

QT       += core gui sql

(2) widget.h

#include <QSqlDatabase>
#include <QSqlTableModel>

(3)  widget.cpp

构造函数中初始化

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");

    db.setHostName("47.101.128.140");
    db.setDatabaseName("mydatabase");
    db.setUserName("test1");
    db.setPassword("test1");

    if (db.open())
    {
        QMessageBox::information(this, "连接提示", "连接成功");

        m = new QSqlTableModel;//创建有一个模型对象
        m->setTable("student");//操作的是student这张表
        ui->tableView->setModel(m);//将m与tableView关联起来
    }
    else
    {
        QMessageBox::warning(this, "连接提示", "连接失败");
    }

查询

void Widget::on_pushButton_clicked()
{
    m->select();
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值