QT通过ODBC远程连接MySQL数据库

第一步用:SQLyogC测试看看是否能连接上,如果都不能连接上谈何qt远程.

QT通过ODBC远程连接MySQL数据库_第1张图片

第二步:骤下载并安装mysqlODBCQ驱动 ,安装过程一直点击下一步骤就可以了https://pan.baidu.com/s/14wWlzFxfg6z46NMuVlJOHA?pwd=odbc

提取码:odbc

第三步:配置odbc

1.打开电脑控制版面输入odbc点击odbc64位在点击添加Unicode的MySQLodbc然后配置好确定就行了

QT通过ODBC远程连接MySQL数据库_第2张图片

QT通过ODBC远程连接MySQL数据库_第3张图片

QT通过ODBC远程连接MySQL数据库_第4张图片

 第4步骤:Linux安装MySQL的odbc驱动在终端输入:

sudo apt search unixodbc

第五步测试:

#include "mainwindow.h"
#include 
#include 
#include
#include 
#include 

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    qDebug()<

如果成功:如图下

记得加

QT +=sql

QT通过ODBC远程连接MySQL数据库_第5张图片

增加删改查

增加

 QSqlQuery quey;
           QString data1 = ui->lineEdit->text(), data2 = ui->lineEdit_3->text() ,data3=ui->lineEdit_2->text();
           quey.prepare("insert into data(name,class,score) values(?,?,?)");
           quey.addBindValue(data1);
           quey.addBindValue(data2);
           quey.addBindValue(data3);
           quey.exec(); //执行

删除

 QSqlQuery quey;
        QString delaname=ui->lineEdit->text();
        quey.prepare(QString("DELETE FROM data WHERE name=?"));
        quey.addBindValue(delaname);
        quey.exec();

 QSqlQuery quey;
        QString valueStr=ui->lineEdit_2->text();
        QString flag = ui->lineEdit->text();
        quey.prepare("update data set score = ? where name = ?");
        quey.addBindValue(valueStr);
        quey.addBindValue(flag);
        quey.exec(); //执行

 QSqlQuery quey;
     int flag=0;
     quey.exec("select * from data");
     while(quey.next())
     {
         if(ui->lineEdit->text()==quey.value(1).toString())
         {
             QMessageBox *box=new QMessageBox(QMessageBox::Information,"查询成功",quey.value(1).toString(),QMessageBox::Ok | QMessageBox::Close);
             box->exec();
             flag=1;
         }
     }
     if(flag==0)
     {
         QMessageBox *box_no=new QMessageBox(QMessageBox::Information,"查询结果","未查询到相关信息",QMessageBox::Ok | QMessageBox::Close);
         box_no->exec();
     }

遍历

 QSqlQuery quey;
    quey.exec("select * from data");
    qint32 rowno=0;
    while(quey.next())
    {
        qDebug()<tableWidget->insertRow(rowno);
        for(int i=0;i<4;i++)
        {
             ui->tableWidget->setItem(rowno,i,new QTableWidgetItem(quey.value(i+1).toString()));
        }
        rowno++;
    }

你可能感兴趣的:(ll,mysql,数据库,database)