Qt如何连接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

 

posted @ 2016-02-22 15:56  oaken_tree  阅读(852)  评论(0编辑  收藏  举报