QT mysql connect to database

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;
}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324643383&siteId=291194637