qt连接mysql运行时出现QSqlQuery::exec:database not open,怎么解决

筱乖 2013-10-15 12:16:42
#include <QtCore/QCoreApplication>
#include<QtSql>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setUserName("root");
db.setPassword("root");
db.setHostName("localhost");
db.setDatabaseName("xinxi");
QSqlQuery query(db);
query.exec("create table student (id int primary key,name varchar)");
query.exec("insert into student values(1,'xiaogang')");
query.exec("insert into student values(2,'xiaoming')");
query.exec("insert into student values (3,'xiaohong')");
return a.exec();
}
...全文
1543 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
u010688690 2013-10-16
  • 打赏
  • 举报
回复
你少了db.open
ying_593254979 2013-10-16
  • 打赏
  • 举报
回复
你自己对比一下不就知道了。
筱乖 2013-10-15
  • 打赏
  • 举报
回复
希望各位高人多多指点。
筱乖 2013-10-15
  • 打赏
  • 举报
回复
已经编译mysql的驱动了,


#include <QtCore/QCoreApplication>
#include<QtSql>
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 <QtCore/QCoreApplication>
#include<QtSql>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setUserName("root");
db.setPassword("root");
db.setHostName("localhost");
db.setDatabaseName("xinxi");
if(db.open()){
qDebug()<<"open\n"<<db.lastError().driverText()<<"\n";
}
else{
qDebug()<<"open faile\n";
}
QSqlQuery query(db);
query.exec("create table student (id int primary key,name varchar)");
query.exec("insert into student values(1,'xiaogang')");
query.exec("insert into student values(2,'xiaoming')");
query.exec("insert into student values (3,'xiaohong')");
return a.exec();
}
菜园小火车 2013-10-15
  • 打赏
  • 举报
回复
你要编译驱动的 ,QT的mysql的驱动是以插件形式加载的 。要自己编译。百度QT mysql应该有很多文章。

16,240

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧