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

打印 上一主题 下一主题

主题 884|帖子 884|积分 2652

头文件:

  
  1. #include <qsqlquery.h>
  2. #include <qsqldatabase.h>
复制代码
(注:需要先适配数据库)
  函数界说:

  
  1. public:
  2.         bool verifyLogin(const QString& account, const QString& password);
  3.         QString getUserName(const QString& account);
  4.         QString getUserHeadPixmap(const QString& account);
  5. private:
  6.         bool connectMySQL();
  7. private:
  8.         QSqlDatabase base;
复制代码
源代码:

        毗连:

  
  1. bool UseMySQL::connectMySQL()
  2. {
  3.         if(DEBUG)        qDebug() << QSqlDatabase::drivers();
  4.         //开始连接数据库
  5.         base = QSqlDatabase::addDatabase(DB_DRIVER, DB_CONN_NAME);
  6.         base.setDatabaseName(DB_NAME);
  7.         base.setHostName(DB_HOST_NAME);
  8.         base.setUserName(DB_ACCOUNT);
  9.         base.setPassword(DB_PASSWORD);
  10.         base.setPort(DB_PORT);
  11.     if(!base.open())    return false;
  12.     return true;
  13. }
复制代码
        使用:

  
  1. bool UseMySQL::verifyLogin(const QString & account, const QString & password)
  2. {
  3.         //构造时就会执行一次
  4.         QSqlQuery sql(QString("SELECT code FROM accounts WHERE ID = %1").arg(account),base);
  5.         if (sql.next()) {
  6.                 QString result = sql.value(0).toString();
  7.                 if (result == password) {
  8.                         return true;
  9.                 }
  10.         }
  11.         return false;
  12. }
复制代码
  
  1. QString UseMySQL::getUserName(const QString & account)
  2. {
  3.         QSqlQuery sql(QString("SELECT Name FROM tab WHERE ID = %1").arg(account), base);
  4.         if (sql.next()) {
  5.                 QString result = sql.value(0).toString();
  6.                 return result;
  7.         }
  8.         return QString();
  9. }
复制代码
  
  1. QString UseMySQL::getUserHeadPixmap(const QString & account)
  2. {
  3.         QSqlQuery sql(QString("SELECT picture FROM tab WHERE ID = %1").arg(account), base);
  4.         if (sql.next()) {
  5.                 QString result = sql.value(0).toString();
  6.                 return result;
  7.         }
  8.         return QString();
  9. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

钜形不锈钢水箱

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表