QT mysql 连接数据库

mysql为当前连接别名:

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", "mysql")
连接初始化:
static bool createConnection()
{
    //以后就可以用"sqlite1"与数据库进行连接了
    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;
}

具体操作Select查询:

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

猜你喜欢

转载自blog.csdn.net/LINZHENYU1996/article/details/80037892