Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. MariaDB problem inserting NULL date
Qt 6.11 is out! See what's new in the release blog

MariaDB problem inserting NULL date

Scheduled Pinned Locked Moved Solved General and Desktop
12 Posts 4 Posters 1.7k Views 2 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.
  • S Offline
    S Offline
    Stefanoxjx
    wrote on last edited by Stefanoxjx
    #3

    Hi SGaist, if I comment this line: Query.bindValue(":data_dimissione", Dimissione); I haven't errors.
    I this the correct way?

    Christian EhrlicherC 1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #4

      I would have tested with the equivalent of:

      INSERT INTO Assunzioni (Dipendenti_id, Livelli_id, Scadenze_id, data_assunzione) VALUES(2, 1, 1, 20201114)

      So no mention of data_dimissione in the query at all.

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      1
      • S Offline
        S Offline
        Stefanoxjx
        wrote on last edited by
        #5

        Ah ok!
        Without data_dimissione works fine.

        1 Reply Last reply
        0
        • S Stefanoxjx

          Hi SGaist, if I comment this line: Query.bindValue(":data_dimissione", Dimissione); I haven't errors.
          I this the correct way?

          Christian EhrlicherC Offline
          Christian EhrlicherC Offline
          Christian Ehrlicher
          Lifetime Qt Champion
          wrote on last edited by
          #6

          @Stefanoxjx said in MariaDB problem inserting NULL date:

          Query.bindValue(":data_dimissione", Dimissione);

          What's the value of Dimissione in this case?

          Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
          Visit the Qt Academy at https://academy.qt.io/catalog

          S 1 Reply Last reply
          1
          • Christian EhrlicherC Christian Ehrlicher

            @Stefanoxjx said in MariaDB problem inserting NULL date:

            Query.bindValue(":data_dimissione", Dimissione);

            What's the value of Dimissione in this case?

            S Offline
            S Offline
            Stefanoxjx
            wrote on last edited by
            #7

            @Christian-Ehrlicher said in MariaDB problem inserting NULL date:

            @Stefanoxjx said in MariaDB problem inserting NULL date:

            Query.bindValue(":data_dimissione", Dimissione);

            What's the value of Dimissione in this case?

            If Dimissione is (for example) 20201115 all works fine.
            If Dimissione is NULL I've an error.

            1 Reply Last reply
            0
            • Christian EhrlicherC Offline
              Christian EhrlicherC Offline
              Christian Ehrlicher
              Lifetime Qt Champion
              wrote on last edited by
              #8

              @Stefanoxjx said in MariaDB problem inserting NULL date:

              If Dimissione is NULL I've an error.

              Since it's a QVariant, it can't be 'NULL' - only QVariant::isNull() or isValid() can return true. Do you mean than QVariant::isNull() returned true?

              Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
              Visit the Qt Academy at https://academy.qt.io/catalog

              JonBJ 1 Reply Last reply
              2
              • Christian EhrlicherC Christian Ehrlicher

                @Stefanoxjx said in MariaDB problem inserting NULL date:

                If Dimissione is NULL I've an error.

                Since it's a QVariant, it can't be 'NULL' - only QVariant::isNull() or isValid() can return true. Do you mean than QVariant::isNull() returned true?

                JonBJ Offline
                JonBJ Offline
                JonB
                wrote on last edited by JonB
                #9

                @Christian-Ehrlicher
                Doubtless you are right, and this will prove the nub of the issue, but the OP said originally:

                INSERT INTO Assunzioni (Dipendenti_id, Livelli_id, Scadenze_id, data_assunzione, data_dimissione) VALUES(2, 1, 1, 20201114, NULL)

                and

                Incorrect date value: 'NULL' for column db.assunzioni.data_dimissione at row 1

                but you'd think that NULL at the end implied that the statement had been generated as desired?

                1 Reply Last reply
                1
                • Christian EhrlicherC Offline
                  Christian EhrlicherC Offline
                  Christian Ehrlicher
                  Lifetime Qt Champion
                  wrote on last edited by
                  #10

                  I'm not sure if the prepared statement quotes strings so it can still be NULL as string, therefore my question. And if it's really QVariant::isNull() then a simple reproducable example would be nice.

                  Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                  Visit the Qt Academy at https://academy.qt.io/catalog

                  1 Reply Last reply
                  3
                  • S Offline
                    S Offline
                    Stefanoxjx
                    wrote on last edited by
                    #11

                    Reading your reply, I tought that my error was to have defined Dimissione as QString.
                    Then, I've tried this solution:

                    if(...condition...) QVariant Dimissione = QVariant();
                    qDebug() << "QVariant::IsNull " << Dimissione.isNull();
                    ...
                    Query.bindValue(":data_dimissione", Dimissione);
                    ...
                    

                    So, QVarinat::IsNull return true, and I haven't errors in Query.exec()

                    I learned a new thing :)

                    Thanks for your invaluable help.

                    Christian EhrlicherC 1 Reply Last reply
                    3
                    • S Stefanoxjx

                      Reading your reply, I tought that my error was to have defined Dimissione as QString.
                      Then, I've tried this solution:

                      if(...condition...) QVariant Dimissione = QVariant();
                      qDebug() << "QVariant::IsNull " << Dimissione.isNull();
                      ...
                      Query.bindValue(":data_dimissione", Dimissione);
                      ...
                      

                      So, QVarinat::IsNull return true, and I haven't errors in Query.exec()

                      I learned a new thing :)

                      Thanks for your invaluable help.

                      Christian EhrlicherC Offline
                      Christian EhrlicherC Offline
                      Christian Ehrlicher
                      Lifetime Qt Champion
                      wrote on last edited by
                      #12

                      @Stefanoxjx Nice to hear, can you please mark this topic as solved then?

                      Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                      Visit the Qt Academy at https://academy.qt.io/catalog

                      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