Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. French
  4. Erreur Insertion MySql

Erreur Insertion MySql

Scheduled Pinned Locked Moved Unsolved French
2 Posts 2 Posters 726 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Offline
    P Offline
    Paurek
    wrote on last edited by
    #1

    Bonjour, je tente de faire une insertion MySQL pour un projet en cours. Je m'aide d'une vidéo cependant celle-ci ne fonctionne pas, il m'indique données non insérées mais la connexion se fait correctement, une idée ?

    Mon code:

    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    #include <QPixmap>
    #include <QDebug>
    
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
    
        QPixmap pix("H:/Travail/Mes Images/Qt/Boss-icon.png");
        int w = ui->label_pic->width();
        int h = ui->label_pic->height();
        ui->label_pic->setPixmap(pix.scaled(w,h,Qt::KeepAspectRatio));
    
        ui->username->setPlaceholderText("Entrer votre nom");
        ui->password->setPlaceholderText("Entrer votre mot de passe");
        ui->email->setPlaceholderText("Entre ton adresse email");
        ui->nom_2->setPlaceholderText("Entrer votre nom");
        ui->motdepasse_2->setPlaceholderText("Entrer votre mot de passe");
    }
    
    MainWindow::~MainWindow()
    {
        delete ui;
    }
    
    void MainWindow::on_pushButton_clicked()
    {
    
        // Connexion à ma base de données Mysql
    
        database = QSqlDatabase::addDatabase("QSQLITE");
        database.setHostName("localhost");
        database.setUserName("root");
        database.setPassword("");
        database.setDatabaseName("psaut2");
    
        if(database.open()) {
    
            // Récupérer les données des champs de saisie
    
            QString username = ui->username->text();
            QString password = ui->password->text();
            QString email = ui->email->text();
    
            // Lancer notre requête d'insertion
    
            QSqlQuery qry;
            qry.prepare("INSERT INTO users (username, password, email)"
                        "VALUES (:username, :password, :email)");
    
            qry.bindValue(":username", username);
            qry.bindValue(":password", password);
            qry.bindValue(":email", email);
    
            if(qry.exec()) {
    
                QMessageBox::information(this, "Inséré", "Insertion des données réussi");
            }else{
    
                QMessageBox::information(this, "Non Inséré", "Les données ne se sont pas insérées");
            }
    
    
    
        }else {
    
            QMessageBox::information(this, "Non connectée", "La base de données n'est pas connectée");
    
        }
    
    }
    

    Ma BDD:

    alt text

    Merci !

    1 Reply Last reply
    0
    • T Offline
      T Offline
      TSXx
      wrote on last edited by
      #2

      Bonjour,
      A mon avis, il ne faut pas faire le database.setDatabaseName, car la requête est effectuée sur la base par défaut et pas sur psaut2.
      Ou bien il faut passer database dans le constructeur de qry.

      1 Reply Last reply
      0

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved