博客首页 注册 建议与交流 排行榜 加入友情链接         宝宝相册的专门空间
推荐 投诉 搜索: 帮助

愿逝者安息 让生者前行 深切哀悼5.12遇难同胞

愿逝者安息 让生者前行 深切哀悼5.12遇难同胞
creatory.cublog.cn


error:QtSql:No such file or directory
I wrote a program to test that how to connect to mysql with qt4,but I got the error message as follows when I compile it:
error: QtSql: No such file or directory
There are two method to solve this problem.
1.After execute qmake -project ,edit .pro file and add QT variable definition.
QT += sql
2.edit qmake configuration file,append QT variable definition
Just find the line like this:
QT                      += core gui network
change it :
QT                      += core gui network sql

A example demonstrates  how to connect mysql with qt
//test.cpp
#include <QtGui>
#include <QtSql>
int main(int argc,char **argv)
{
QApplication app(argc,argv);
QTextEdit textEdit;
textEdit.resize(300,300);
textEdit.show();
QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("example");
db.setUserName("creatory");
db.setPassword("");
bool ok=db.open();
if(ok)
{
textEdit.setText("connect ok");
QSqlQuery query;
if(query.exec("select * from employee"))
{
int numRows=0;
if(db.driver()->hasFeature(QSqlDriver::QuerySize))
numRows=query.size();
else
{
query.last();
numRows=query.at()+1;
}
QString id,name;
textEdit.append("========");
textEdit.append(QString::fromLocal8Bit("id | Name"));
while(query.next())
{
id=query.value(0).toString();
name=QString::fromLocal8Bit(query.value(1).toByteArray());
QString result=id+" "+name;
textEdit.append(result);
}
textEdit.append(QString("Totally %1 rows").arg(numRows));

}
}
else
{
textEdit.setText("error");
textEdit.append("can't open database");
textEdit.append("Reason:"+db.lastError().databaseText());
}
return app.exec();
}


发表于: 2008-05-14 ,修改于: 2008-05-14 10:55,已浏览135次,有评论0条 推荐 投诉


网友评论

发表评论