QSqlDatabase::addDatabase("QMYSQL")
data_base.setHostName("localhost")
//设置主机地址
data_base.setPort(3306) //设置端口
将MySQL安装目录下的libmysql.dll拷贝到Qt安装目录下的bin目录中即可。
从源代码编译MySQL时,InnoDB表支持需要特定的编译参数。如果MySQL版本没有InnoDB支持,请互联网服务提供商建立一个版本的MySQL支持InnoDB表类型,或者下载并安装Windows或Linux/UNIX的MySQL-Max二进制分发和使用的表类型在开发环境中。如果MySQL安装支持InnoDB表,只需添加一个的TYPE=InnoDB 定义表创建语句。
1.安装qt的时候还没有安装mysql.也就是说应该在安装qt之前安装mysql数据库.这个错误由QSqlDatabase抛出db.lastError().text()2.将以前编译的mysql驱动程序拷入qt文件夹位置放错.
3.你的程序写错了.
4."driver not loaded" 是由query.lastError().text()抛出的错误.
5.gcc版本不一样(本机和目标机).
既然知道原因了,解决起来也就非常轻松了.
1.重新安装qt,重新安装mysql驱动
2和3的解决方法我就没有什么好说的了.
4. 说明你的query在创建的时候没有和qsqldatabase建立起关联.正确的方法是声明qsqldatabase后就声明query.如果你希望一 个连接能够和多个query关联使用如下语法:QSqlQuery query(db),db是QSqlDatabase的实例名.
5.同步gcc版本咯..
首先,运行如下测试代码:
//don't forget about QT+= sql
qDebug() <<QSqlDatabase::drivers()
QSqlDatabase db( QSqlDatabase::addDatabase( "QMYSQL" ) )
qDebug() <<db.lastError()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)