在vs中,qt连接mysql运行时,出现QSqlQuery::exec:database not open,如何解决

#include<QtCore/QCoreApplication>#include<QtSql>intmain(intargc,char*argv[]){QCoreApp... #include <QtCore/QCoreApplication>
#include <QtSql>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setDatabaseName(":xinxi:");//mysql中存在的数据库xinxi
if(!db.open()){

}
QSqlQuery query;
query=QSqlQuery::QSqlQuery(db);
query.exec("select wendu form shuju");//数据库中的表格shuju,表格中的wendu
while(query.next())
{
int ele0=query.value(0).toInt();
QString ele1=query.value(1).toString();
qDebug()<<ele0<<ele1;
}
db.close();
return a.exec();
}
展开
 我来答
吾儿梁龙庆
2013-10-06 · 超过13用户采纳过TA的回答
知道答主
回答量:26
采纳率:0%
帮助的人:24.4万
展开全部
要设置用户名密码之类的吧。。?
db.setHostName("localhost"); //设置数据库主机名
db.setDatabaseName("test"); //设置数据库名
db.setUserName("root"); //设置数据库登入用户名
db.setPassword("123456"); //设计数据库登入密码
自己试试。
在if(!db.open()){

}里面最好输出一下,看看是否open成功
追问
你好,设置了,但结果还是database not open,不会和我的机子有关系吧,我的是win7的,是不是xp的就可以了。
10389089
2013-10-11 · TA获得超过509个赞
知道小有建树答主
回答量:246
采纳率:0%
帮助的人:199万
展开全部
在QT里面开了SQLITE的数据库,那还怎么使用mySQL的table呢?最好重新将mysql的数据导入到SQLITE中,再在QT里面使用这个SQLITE数据库文件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式