QT: 连接 mysql

--
--
qt: 连接 mysql: newtower: ok:

 

1.
先从网上下载已编译好的 mysql qt 驱动, 将其中 *.a *.dll 放到类似 F:/Qt/2010.05/qt/plugins/sqldrivers 的目录
http://xiaojinta.com/temp/qt_mysql_driver.rar

 

2.
写代码,
[
#include <QtCore/QCoreApplication>

// *.pro:  QT += sql

#include <QtDebug>
#include <QtSql>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    // a.setDefaultCodec( QTextCodec::codecForName("GBK") );

    QString s = QString::fromUtf8("呵呵");
    qDebug() << s;
    // qDebug( s.toStdString().c_str() );

    qDebug() << "Available drivers:";
    QStringList drivers = QSqlDatabase::drivers();
    foreach(QString driver, drivers)
    {
        // qDebug() << "[" + driver + "]";
        qDebug( driver.toStdString().c_str() );
    }
    qDebug("--------");

    // QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", "mysql"); // error
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("127.0.0.1");
    db.setDatabaseName("db_aaa");
    db.setUserName("aaa");
    db.setPassword("123");
    if( ! db.open() ){
      qDebug("42: 打不开 ");
      qDebug() << db.lastError().text();
      return false;
    }

    qDebug("30");

    QSqlQuery query; //以下执行相关QSL语句

    query.exec(" select * from user ");

    // error: qDebug( "query.size() = " + query.size() );
    s = QString("query.size() = %1").arg( query.size() ) + " aaa" + "bbb";
    qDebug() << s.toStdString().c_str();

    qDebug("49");

    while(query.next())  //query.next()指向查找到的第一条记录,然后每次后移一条记录
    {
        int f_0 = query.value(0).toInt();        //query.value(0)是id的值,将其转换为int型
        QString f_1 =query.value(1).toString();
        QString f_2 =query.value(2).toString();
        QString f_3 =query.value(3).toString();
        qDebug() << f_0 << f_1 << f_2 << f_3; // 输出两个值
    }
    qDebug("58");

    return a.exec();
}
]
--
--

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值