加载中…
个人资料
一去二三里
一去二三里
  • 博客等级:
  • 博客积分:0
  • 博客访问:2,844,231
  • 关注人气:909
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Qt之连接MySQL

(2013-12-16 14:03:38)
标签:

qt

qsqldatabase

qt连接远程数据库

qmysql

qmysqldrivernotloade

分类: Qt
    针对Qt之编译MySQL数据库驱动(MSVC)这一节,已经讲述了Qt5.2以及之前的版本针对MySQL的使用情况,有可能很多人还存在一些使用上的问题。

Qt如何利用MySQL连接远程数据库?

代码如下:

//输出可用数据库
qDebug()<<"available drivers:";
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers)
    qDebug()<<driver;

//打开MySQL
QSqlDatabase data_base = QSqlDatabase::addDatabase("QMYSQL");
data_base.setHostName("10.0.31.41");  //设置主机地址
data_base.setPort(3309);  //设置端口
data_base.setDatabaseName("gv_local");  //设置数据库名称
data_base.setUserName("root");  //设置用户名
data_base.setPassword("root123");  //设置密码
if(!data_base.open())
    qDebug()<<"failed to connect to mysql";
else
    qDebug()<<"success";

提示信息如下:

Qt之连接MySQL

MySQL驱动加载失败,如何解决?

解决办法:
    将MySQL安装目录下的libmysql.dll拷贝到Qt安装目录下的bin目录中即可。
Qt之连接MySQL

测试:

QString select_all_sql = "select * from gv_alarm_info";

//查询所有数据
QSqlQuery sql_query; 
sql_query.prepare(select_all_sql);
if(!sql_query.exec())
{
    qDebug()<<sql_query.lastError();
}
else
{
    while(sql_query.next())
    {
        int id = sql_query.value(0).toInt();
        QString templ_name = sql_query.value(2).toString();
        qDebug()<<QString("Id:%1     Templ Name:%2").arg(id).arg(templ_name);
    }
}

效果如下:

Qt之连接MySQL

注:
    技术在于交流、沟通,转载请注明出处并保持作品的完整性。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有