Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.33 KB | None | 0 0
  1.     QStringList temp = str.split(">");
  2.     QString intKey = temp.at(1);
  3.     QString nom = temp.at(2);
  4.     QString prenom = temp.at(3);
  5.     QString adress = temp.at(4);
  6.     QString cp = temp.at(5);
  7.     QString ville = temp.at(6);
  8.     QString tel = temp.at(7);
  9.     QString mail = temp.at(8);
  10.     QString nation = temp.at(9);
  11.     QString dnaiss = temp.at(10);
  12.     QString keyRef = temp.at(11);
  13.     QString id = temp.at(12);
  14.     QString pw = temp.at(13);
  15.     QString question = temp.at(14);
  16.     QString answer = temp.at(15);
  17.  
  18.     QSqlDatabase DataBase = QSqlDatabase::addDatabase("QMYSQL");
  19.     DataBase.setDatabaseName("my_dev_db");
  20.     DataBase.setHostName("127.0.0.1");
  21.     if(!DataBase.open("root","XXXXXXX"))
  22.     {
  23.         qDebug() << "Connection Database error";
  24.         return "ERROR";
  25.     }
  26.  
  27.     QSqlQuery q(tr("SELECT * FROM `keys` WHERE iSerial = '%1' AND `key` = '%2'").arg(intKey).arg(keyRef),DataBase);
  28.     if(q.size() != 1){
  29.         qDebug() << "SID non trouvé ou doublon";
  30.         return "ERROR";
  31.     }
  32.  
  33.     int fieldIdUser = q.record().indexOf("id_user");
  34.     int fieldConnected = q.record().indexOf("connected");
  35.     int fieldKey = q.record().indexOf("key");
  36.     bool *ok;
  37.     QString connectedInt;
  38.     while (q.next()){
  39.         userId = q.value(fieldIdUser).toString();
  40.         connectedInt = q.value(fieldConnected).toString();
  41.         key = q.value(fieldKey).toString();
  42.         qDebug() << tr("%1 state is : %2").arg(key).arg(connectedInt);
  43.     }
  44.     q.clear();
  45.     bool freeKey;
  46.     (userId.toInt() == 0) ? freeKey = true : freeKey = false;
  47.     bool connectedKey;
  48.     (connectedInt.toInt() == 1) ? connectedKey = true : connectedKey = false;
  49.     bool validKey = !key.isEmpty();
  50.     if(freeKey && !connectedKey && validKey){
  51.         //ACTIVATION DE LA CLEF
  52.         QString queryActUser = "UPDATE `keys` SET `nom` = :nom ,`prenom` = :prenom ,`adress` = :adress ,`cp` = :cp ,`city` = :city ,`tel` = :tel ,"
  53.         "`mail` = :mail ,`nation` = :nation ,`birth` = :birth ,`login` = :login ,`pass` = :pass ,`secretQuestion` = :secretQuestion ,"
  54.         "`secretAnswer` = :secretAnswer"
  55.         " WHERE `keys`.`iSerial` = '%1' AND `keys`.`key` = '%2'";
  56.  
  57.         QSqlQuery *query = new QSqlQuery(DataBase);
  58.         if(!query->prepare(queryActUser.arg(intKey).arg(keyRef))){
  59.             qDebug() << "Activation Query failed to prepare";
  60.         }
  61.  
  62.         qDebug() << "prepare";
  63.         query->bindValue(":nom", nom, QSql::In);
  64.  
  65.         query->bindValue(":prenom", prenom, QSql::In);
  66.  
  67.         query->bindValue(":adress", adress, QSql::In);
  68.  
  69.         query->bindValue(":cp", cp.toInt(), QSql::In);
  70.  
  71.         query->bindValue(":city", ville, QSql::In);
  72.  
  73.         query->bindValue(":tel", tel, QSql::In);
  74.  
  75.         query->bindValue(":mail", mail, QSql::In);
  76.  
  77.         query->bindValue(":birth", dnaiss, QSql::In);
  78.  
  79.         query->bindValue(":nation", nation, QSql::In);
  80.  
  81.         query->bindValue(":login", id, QSql::In);
  82.  
  83.         query->bindValue(":pass", pw, QSql::In);
  84.  
  85.         query->bindValue(":secretQuestion", question, QSql::In);
  86.  
  87.         query->bindValue(":secretAnswer", answer, QSql::In);
  88.  
  89.         qDebug() << query->lastQuery();
  90.  
  91.         if(query->exec() == false){
  92.             qDebug() << "Activation query failed";
  93.             qDebug() << query->lastQuery().toUtf8();
  94.             qDebug() << query->lastError().databaseText();
  95.             return "";
  96.         }
  97.     }else{
  98.         return "";
  99.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement