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