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