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.
  • 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