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
Qt 6.11 is out! See what's new in the release blog

QSqlQuery select statment

Scheduled Pinned Locked Moved Solved Qt Creator and other tools
15 Posts 3 Posters 6.5k 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.
  • raven-worxR raven-worx

    @MrLibya
    are you sure that the query returns a valid result (QSqlQuery::isValid())?
    Maybe you could iterate over the result and check it.

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

    @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 1 Reply Last reply
    0
    • 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