在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();
} 展开
#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();
} 展开
展开全部
要设置用户名密码之类的吧。。?
db.setHostName("localhost"); //设置数据库主机名
db.setDatabaseName("test"); //设置数据库名
db.setUserName("root"); //设置数据库登入用户名
db.setPassword("123456"); //设计数据库登入密码
自己试试。
在if(!db.open()){
}里面最好输出一下,看看是否open成功
db.setHostName("localhost"); //设置数据库主机名
db.setDatabaseName("test"); //设置数据库名
db.setUserName("root"); //设置数据库登入用户名
db.setPassword("123456"); //设计数据库登入密码
自己试试。
在if(!db.open()){
}里面最好输出一下,看看是否open成功
追问
你好,设置了,但结果还是database not open,不会和我的机子有关系吧,我的是win7的,是不是xp的就可以了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |