mysql is the current connection alias:
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", "mysql")Connection initialization:
static bool createConnection() { //You can use "sqlite1" to connect to the database later QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", "mysql"); db.setHostName(hostName); db.setUserName(userName); db.setPassword(passWord); db.setPort(port); db.setDatabaseName(dbGoodsName); if( !db.open()) { QMessageBox::critical(0, "Cannot open mysql database", "Unable to establisha database connection." , QMessageBox::Cancel); //qDebug() << "failed to connect mysql"; return false; } //qDebug() << "connect mysql successfully!"; return true; }
Specific operation Select query:
QString MainWindow::get_keyword(QString keywordName){ int count,randIndex,i; QString keywordDetail; if(!createConnection()) return keywordName; QSqlDatabase db = QSqlDatabase::database( "mysql" ); QSqlQuery query(db); query.exec("select keyword from k where catalog=?"); query.bindValue(1,keywordName); count=query.size(); randIndex=rand()%count; i=0; while(query.next()){ if(i==randIndex){ keywordDetail=query.value("keyword").toString(); return keywordDetail; } i++; } return keywordName; }