Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Qt Creator and other tools
  4. QSqlQuery select statment
Forum Updated to NodeBB v4.3 + New Features

QSqlQuery select statment

Scheduled Pinned Locked Moved Solved Qt Creator and other tools
15 Posts 3 Posters 4.1k 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.
  • M MrLibya

    @raven-worx yes query.isValid() return false , will we don't really need that ! , i'm already know the query is not Valid , but how to write the correct syntax for this query

    raven-worxR Offline
    raven-worxR Offline
    raven-worx
    Moderators
    wrote on last edited by
    #4

    @MrLibya

    qDebug() << query.lastError().text()
    

    should give more hints whats the problem.

    But i guess the problem is the table name ([main].[items]), which isn't valid?!?

    --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
    If you have a question please use the forum so others can benefit from the solution in the future

    M 1 Reply Last reply
    3
    • raven-worxR raven-worx

      @MrLibya

      qDebug() << query.lastError().text()
      

      should give more hints whats the problem.

      But i guess the problem is the table name ([main].[items]), which isn't valid?!?

      M Offline
      M Offline
      MrLibya
      wrote on last edited by
      #5

      @raven-worx ok i got

      Parameter count mismatch
      
      1 Reply Last reply
      1
      • M Offline
        M Offline
        MrLibya
        wrote on last edited by
        #6

        i also tried

                query.addBindValue(ui->Numberinput->text());
                query.addBindValue(ui->search_item->text());
        

        but the same

        raven-worxR 1 Reply Last reply
        0
        • M MrLibya

          i also tried

                  query.addBindValue(ui->Numberinput->text());
                  query.addBindValue(ui->search_item->text());
          

          but the same

          raven-worxR Offline
          raven-worxR Offline
          raven-worx
          Moderators
          wrote on last edited by
          #7

          @MrLibya
          this error is very unspecific and may also occur when the query itself is invalid.
          As i already stated, whats about the table name [main].[items]. Is this really correct?!

          --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
          If you have a question please use the forum so others can benefit from the solution in the future

          M 1 Reply Last reply
          0
          • raven-worxR raven-worx

            @MrLibya
            this error is very unspecific and may also occur when the query itself is invalid.
            As i already stated, whats about the table name [main].[items]. Is this really correct?!

            M Offline
            M Offline
            MrLibya
            wrote on last edited by MrLibya
            #8

            @raven-worx yep , i've already used this method in another function and it's work very well

            void MainWindow::UpdateSearchItem(QStringList *List)
            {
                QSqlQuery query("SELECT * FROM [main].[items]");
                while (query.next())
                    *List << query.value(1).toString();
            }
            
            1 Reply Last reply
            0
            • hskoglundH Offline
              hskoglundH Offline
              hskoglund
              wrote on last edited by
              #9

              Hi, maybe the text substitution goes haywire, to see the resolved text, try:
              qDebug() << query.executedQuery();

              M 1 Reply Last reply
              1
              • hskoglundH hskoglund

                Hi, maybe the text substitution goes haywire, to see the resolved text, try:
                qDebug() << query.executedQuery();

                M Offline
                M Offline
                MrLibya
                wrote on last edited by
                #10

                @hskoglund said in QSqlQuery select statment:

                qDebug() << query.executedQuery();

                i got

                "SELECT * FROM [main].[items] WHERE barcode = ? OR name = ? "
                
                hskoglundH 1 Reply Last reply
                0
                • M MrLibya

                  @hskoglund said in QSqlQuery select statment:

                  qDebug() << query.executedQuery();

                  i got

                  "SELECT * FROM [main].[items] WHERE barcode = ? OR name = ? "
                  
                  hskoglundH Offline
                  hskoglundH Offline
                  hskoglund
                  wrote on last edited by
                  #11

                  Indeed the text substitution seems borked, you could try instead doing the text substitution directly yourself, something like this:

                  QSqlQuery query("SELECT * FROM [main].[items] WHERE barcode = '123' OR name = 'Smith'");
                  
                  M 1 Reply Last reply
                  0
                  • hskoglundH hskoglund

                    Indeed the text substitution seems borked, you could try instead doing the text substitution directly yourself, something like this:

                    QSqlQuery query("SELECT * FROM [main].[items] WHERE barcode = '123' OR name = 'Smith'");
                    
                    M Offline
                    M Offline
                    MrLibya
                    wrote on last edited by MrLibya
                    #12

                    @hskoglund that will not really helps , goes the barcode - name , the user will input from line edit , so dose this only not work on sqlite ? if i use mysql it will work ??

                    1 Reply Last reply
                    0
                    • hskoglundH Offline
                      hskoglundH Offline
                      hskoglund
                      wrote on last edited by
                      #13

                      Hi, you can build the select string something like this:

                      QString s = QString("SELECT * FROM [main].[items] WHERE barcode = '%1' OR name = '%2'").arg(ui->Numberinput->text()).arg(ui->search_item->text());
                      QSqlQuery query(s);
                      
                      M 1 Reply Last reply
                      2
                      • M Offline
                        M Offline
                        MrLibya
                        wrote on last edited by
                        #14
                        This post is deleted!
                        1 Reply Last reply
                        0
                        • hskoglundH hskoglund

                          Hi, you can build the select string something like this:

                          QString s = QString("SELECT * FROM [main].[items] WHERE barcode = '%1' OR name = '%2'").arg(ui->Numberinput->text()).arg(ui->search_item->text());
                          QSqlQuery query(s);
                          
                          M Offline
                          M Offline
                          MrLibya
                          wrote on last edited by
                          #15

                          @hskoglund thx it work :)

                          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