Qt学习路程(二)Qt下MySQL数据库操作

本文介绍了在Qt环境中如何操作MySQL数据库,强调了Qt与MySQL位数匹配的重要性,并提供了连接、查询、插入、事务处理及数据模型的示例,帮助初学者掌握Qt数据库编程。
摘要由CSDN通过智能技术生成

Qt下对于mysql的操作对于新手一开始是很难上手的,一不小心就出现程序直接奔溃,下面这篇文章,是我在写项目时,查的资料里面感觉用处最大的一个,在这边分享给大家。

对于mysql和Qt的连接,如果出现问题,一定要去注意两个软件的位数是否一样,Qt如果是32位的,那么你的mysql必须也是32位才行。

首先,要查询相关的驱动是否已经装好了,可以用以下的程序进行验证:

#include <QtCore/QCoreApplication>

#include <QSqlDatabase>

#include <QDebug>

#include <QStringList>

int main(int argc, char *argv[])

{

    QCoreApplication a(argc, argv);

    qDebug()<<"Available drivers:";

    QStringList drivers = QSqlDatabase::drivers();

    foreach(QString driver, drivers)

     qDebug() <<"/t" << driver;

    return a.exec();

}

接着是连接数据库:

#include <QtGui/QApplication>

#include <QtGui>

#include <QtSql>

bool createConnection()

{

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

    db.setDatabaseName("test");

    db.setUserName("root");

    db.setPassword("123456");

    bool ok = db.open();

    if(!ok){

        QMessageBox::critical(0, QObject::tr(" 连接数据库失败!!! "), db.lastError().text());

        return false;

    }else{

        QMessageBox::information(0, QObject::tr("Tips"), QObject::tr(" 连接数据库成功!!! "));

        return true;

    }

}

int main(int argc, char *argv[])

{

    QApplication a(argc, argv);

    QTextCodec *codec= QTextCodec::codecForName("GB2312");

    QTextCodec::setCodecForLocale(codec);

    QTextCodec::setCodecForCStrings(codec);

    QTextCodec::setCodecForTr(codec);

    if(!createConnection())

        return 1;

    return a.exec();

}

插入操作:

//ODBC 数据库表示方式

QSqlQuery query;
query.prepare( “insert into student (id, name) ”
                  “values (:id, :name) ”);
query.bindValue(0, 5);
query.bindValue(1, “sixth ”);
query.exec();

//Oracle 表示方式

query.prepare( “insert into student (id, name) ”
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值