在进行编码之前可能要先安装数据库驱动之类的,可以在网上搜索相关文章,配置好即可。。。。
有一点要注意:程序发布时要把system32里的libmysql.dll放在exe目录下,否则无法连接数据库。
连接数据库:
static bool createConnection(){
QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("xx.xx.xx.xx");
db.setPort(3306);
db.setDatabaseName("feadb");
db.setUserName("mysql");
db.setPassword("mysqlxxxx");
if(!db.open()){
qDebug()<<:tr>
return false;
}else{
qDebug()<
}
QSqlQuery query;
QString sqlCmd="use feadb";
bool success=query.exec(sqlCmd);
if(success){
qDebug()<<:tr>
}else{
qDebug()<
return false;
}
return true;
}
在main函数里调用该函数连接数据库:
if(!createConnection())
{
QMessageBox msgBox;
msgBox.setText("SQL cannot connect.");
msgBox.exec();
qCritical()<
return 0;
}
最后,在程序里使用数据库:
//query whether the task has been already exist.
qDebug()<taskName;
sqlCmd=QString("select * from taskinfo where taskName='"+report->taskName+"'");
qDebug()<
query.clear();
if(query.exec(sqlCmd)&&query.next()){
qDebug()<
return false;
}
//Insert into MySQL
sqlCmd=QString("insert into taskinfo(taskName,reportPath) "
"values('"+report->taskName+"','"+report->reportPath+"')");
qDebug()<
query.clear();
if(query.exec(sqlCmd)){
qDebug()<
}else{
qDebug()<
return false;
}