Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. General talk
  3. Brainstorm
  4. [SOLVED]MYSQL query not working
Forum Updated to NodeBB v4.3 + New Features

[SOLVED]MYSQL query not working

Scheduled Pinned Locked Moved Brainstorm
5 Posts 3 Posters 2.0k Views 1 Watching
  • 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.
  • L Offline
    L Offline
    LargoPlanet4
    wrote on 12 Apr 2014, 15:16 last edited by
    #1

    Hello!

    I would like ask for help.
    In the gepadatok function not working none query, but in the jszamfeltolt is working.
    Why?

    header file:

    @#ifndef JADATBAZISA_H
    #define JADATBAZISA_H

    #include "adatbaziskapcsolat.h"
    #include "korok.h"
    #include "QtDebug"

    class Jadatbazisa : public AdatbazisKapcsolat
    {
    //AdatbazisKapcsolat *adatbazis;

    public:
    Jadatbazisa();
    ~Jadatbazisa();

    void jszamfeltolt(int szam);
    void gepadatok(QString gnev, QString gpakli);
    

    private:
    //QSqlQuery query;
    QString gepszam;
    };

    #endif // JADATBAZISA_H
    @

    .cpp file:

    @#include "jadatbazisa.h"

    Jadatbazisa::Jadatbazisa()
    {
    //adatbazis = new AdatbazisKapcsolat();
    }

    Jadatbazisa::~Jadatbazisa()
    {
    }

    void Jadatbazisa::jszamfeltolt(int szam)
    {
    adatbkapcsolat();
    QSqlQuery query(db);

    db.open();
    gepszam = QString::number(szam);
    query.exec("SELECT * FROM gepszam WHERE id = 1");
    
    if(!query.first())
    {
        query.exec("INSERT INTO gepszam(gepszam) VALUES("+gepszam+")");
    }else{
        //qDebug() << "jszamfeltölt update: " << query.isActive();
        query.exec&#40;"UPDATE gepszam SET gepszam = "+gepszam+";"&#41;;
    }
    
    db.close(&#41;;
    

    }

    //Paklik feltöltése az adatbázisba
    void Jadatbazisa::gepadatok(QString gnev, QString gpakli)
    {
    adatbkapcsolat();
    QSqlQuery query(db);

    db.open();
    
    if(query.exec&#40;"SELECT * FROM teszt WHERE gepnev = "+gnev+""&#41;&#41;
    {
        qDebug(&#41; << "gepadatok select true";
    }
    
    if(!query.first())
    {
        if(query.exec&#40;"INSERT INTO teszt(nev&#41; VALUES("+gnev+"&#41;"&#41;)
        {
            qDebug() << "gepadatok insert true";
        }
    }else{
        query.exec("UPDATE gepek SET pakli = "+gpakli+" WHERE gepnev = "+gnev+""&#41;;
    }
    
    db.close(&#41;;
    

    }@

    Thank you and sorry my English language!

    1 Reply Last reply
    0
    • E Offline
      E Offline
      Eddy
      wrote on 12 Apr 2014, 15:23 last edited by
      #2

      Hi,

      welcome to Devnet,

      have a look at the "docs about database binding":http://qt-project.org/doc/qt-5/qsqlquery.html#approaches-to-binding-values

      Qt Certified Specialist
      www.edalsolutions.be

      1 Reply Last reply
      0
      • C Offline
        C Offline
        clochydd
        wrote on 12 Apr 2014, 15:46 last edited by
        #3

        Hi, if gnev contains nonnumeric strings you should set it in single quotation marks:
        "SELECT * FROM teszt WHERE gepnev = '"+gnev+"'"

        EDIT:
        "SELECT * FROM teszt WHERE gepnev = '" + gnev + "'"

        1 Reply Last reply
        0
        • L Offline
          L Offline
          LargoPlanet4
          wrote on 12 Apr 2014, 15:55 last edited by
          #4

          Thank you Eddy and Clochydd!

          It's working:

          @query.prepare("INSERT INTO teszt (gepnev, pakli) "
          "VALUES (:gnev, :gpakli)");
          query.bindValue(":gnev", gnev);
          query.bindValue(":gpakli", gpakli);
          query.exec()@

          1 Reply Last reply
          0
          • E Offline
            E Offline
            Eddy
            wrote on 13 Apr 2014, 05:58 last edited by
            #5

            You're welcome,

            Please edit the title of your first post and prepend [solved] to it so that others can see easily it in the overview.

            Qt Certified Specialist
            www.edalsolutions.be

            1 Reply Last reply
            0

            1/5

            12 Apr 2014, 15:16

            • Login

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