钜形不锈钢水箱 发表于 昨天 14:28

【接口封装】——7、毗连并使用 MySQL 数据库

头文件:

   #include <qsqlquery.h>
#include <qsqldatabase.h>
(注:需要先适配数据库)
函数界说:

   public:
        bool verifyLogin(const QString& account, const QString& password);
        QString getUserName(const QString& account);
        QString getUserHeadPixmap(const QString& account);

private:
        bool connectMySQL();

private:
        QSqlDatabase base;
源代码:

        毗连:

   
bool UseMySQL::connectMySQL()
{
        if(DEBUG)        qDebug() << QSqlDatabase::drivers();

        //开始连接数据库
        base = QSqlDatabase::addDatabase(DB_DRIVER, DB_CONN_NAME);
        base.setDatabaseName(DB_NAME);
        base.setHostName(DB_HOST_NAME);
        base.setUserName(DB_ACCOUNT);
        base.setPassword(DB_PASSWORD);
        base.setPort(DB_PORT);

    if(!base.open())    return false;
    return true;
}        使用:

   bool UseMySQL::verifyLogin(const QString & account, const QString & password)
{
        //构造时就会执行一次
        QSqlQuery sql(QString("SELECT code FROM accounts WHERE ID = %1").arg(account),base);
        if (sql.next()) {
                QString result = sql.value(0).toString();
                if (result == password) {
                        return true;
                }
        }
        return false;

}
    QString UseMySQL::getUserName(const QString & account)
{
        QSqlQuery sql(QString("SELECT Name FROM tab WHERE ID = %1").arg(account), base);
        if (sql.next()) {
                QString result = sql.value(0).toString();
                return result;
        }

        return QString();
}    QString UseMySQL::getUserHeadPixmap(const QString & account)
{
        QSqlQuery sql(QString("SELECT picture FROM tab WHERE ID = %1").arg(account), base);
        if (sql.next()) {
                QString result = sql.value(0).toString();
                return result;
        }

        return QString();
}
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【接口封装】——7、毗连并使用 MySQL 数据库