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. QSqlQuery for ms access database
Forum Updated to NodeBB v4.3 + New Features

QSqlQuery for ms access database

Scheduled Pinned Locked Moved Solved General and Desktop
24 Posts 4 Posters 3.7k 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.
  • M Offline
    M Offline
    MrShawn
    wrote on last edited by
    #11

    Try changing

    query.prepare("SELECT * FROM names where name Like '*'&[ st ]&'*' ");
    

    to

    QString st = "something";
    query.prepare("SELECT * FROM names where name Like :st"); 
    query.bindValue(":st", "*" + st + "*");
    
    behruz montazeriB 1 Reply Last reply
    0
    • M MrShawn

      Try changing

      query.prepare("SELECT * FROM names where name Like '*'&[ st ]&'*' ");
      

      to

      QString st = "something";
      query.prepare("SELECT * FROM names where name Like :st"); 
      query.bindValue(":st", "*" + st + "*");
      
      behruz montazeriB Offline
      behruz montazeriB Offline
      behruz montazeri
      wrote on last edited by
      #12

      @mrshawn
      There is no error but do not work.

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

        Can you write an example query that currently works for that use case ?

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

        behruz montazeriB 1 Reply Last reply
        0
        • SGaistS SGaist

          Can you write an example query that currently works for that use case ?

          behruz montazeriB Offline
          behruz montazeriB Offline
          behruz montazeri
          wrote on last edited by
          #14

          @sgaist
          As i mentioned this one :

              QSqlQuery  query ;
              query.prepare("SELECT * FROM names where name like ? ");
              query.addBindValue(st);
          

          It works but i should write entire word i want to write a part of record in my case name record and it update QTableView

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

            What I am asking for is an example without binding that is working. Once we have that it should be easier to come with a solution.

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

            behruz montazeriB 1 Reply Last reply
            2
            • SGaistS SGaist

              What I am asking for is an example without binding that is working. Once we have that it should be easier to come with a solution.

              behruz montazeriB Offline
              behruz montazeriB Offline
              behruz montazeri
              wrote on last edited by
              #16

              @sgaist
              I have no idea.

              SGaistS 1 Reply Last reply
              0
              • RonaldViscarraLR Offline
                RonaldViscarraLR Offline
                RonaldViscarraL
                wrote on last edited by
                #17

                Hi, the use of % instead of * is the right way. The * is only for using it directly on ms access query.

                WHat version of ms access are you using? could you post a screenshot of your database/table?

                behruz montazeriB 2 Replies Last reply
                0
                • RonaldViscarraLR RonaldViscarraL

                  Hi, the use of % instead of * is the right way. The * is only for using it directly on ms access query.

                  WHat version of ms access are you using? could you post a screenshot of your database/table?

                  behruz montazeriB Offline
                  behruz montazeriB Offline
                  behruz montazeri
                  wrote on last edited by behruz montazeri
                  #18

                  @ronaldviscarral
                  Thanks for your response here is my screenshot :
                  image Info
                  link imaget

                  1 Reply Last reply
                  0
                  • RonaldViscarraLR RonaldViscarraL

                    Hi, the use of % instead of * is the right way. The * is only for using it directly on ms access query.

                    WHat version of ms access are you using? could you post a screenshot of your database/table?

                    behruz montazeriB Offline
                    behruz montazeriB Offline
                    behruz montazeri
                    wrote on last edited by behruz montazeri
                    #19
                    This post is deleted!
                    1 Reply Last reply
                    0
                    • behruz montazeriB behruz montazeri

                      @sgaist
                      I have no idea.

                      SGaistS Offline
                      SGaistS Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on last edited by
                      #20

                      @behruz-montazeri said in QSqlQuery for ms access database:

                      @sgaist
                      I have no idea.

                      Something like "SELECT * FROM names where name like '%foo%'" to confirm that one is working properly.

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

                      behruz montazeriB 1 Reply Last reply
                      0
                      • SGaistS SGaist

                        @behruz-montazeri said in QSqlQuery for ms access database:

                        @sgaist
                        I have no idea.

                        Something like "SELECT * FROM names where name like '%foo%'" to confirm that one is working properly.

                        behruz montazeriB Offline
                        behruz montazeriB Offline
                        behruz montazeri
                        wrote on last edited by behruz montazeri
                        #21

                        @sgaist
                        Yes that works.Then what should be inside the % % instead of foo for binding ???
                        what about binding ??

                        1 Reply Last reply
                        0
                        • RonaldViscarraLR Offline
                          RonaldViscarraLR Offline
                          RonaldViscarraL
                          wrote on last edited by
                          #22

                          try this:

                          QSqlQuery  query ;
                          query.prepare("SELECT * FROM names where name like '%?%'" );
                          query.addBindValue("a");
                          
                          1 Reply Last reply
                          0
                          • RonaldViscarraLR Offline
                            RonaldViscarraLR Offline
                            RonaldViscarraL
                            wrote on last edited by
                            #23

                            I tested in Qt using access both 32 bits, this code works for me:

                            QString st = "a";
                            query->prepare("SELECT * FROM names WHERE name LIKE ?;");
                            
                            QString criteria("%" + st + "%");
                            query->addBindValue(criteria);
                            
                            behruz montazeriB 1 Reply Last reply
                            1
                            • RonaldViscarraLR RonaldViscarraL

                              I tested in Qt using access both 32 bits, this code works for me:

                              QString st = "a";
                              query->prepare("SELECT * FROM names WHERE name LIKE ?;");
                              
                              QString criteria("%" + st + "%");
                              query->addBindValue(criteria);
                              
                              behruz montazeriB Offline
                              behruz montazeriB Offline
                              behruz montazeri
                              wrote on last edited by
                              #24

                              @ronaldviscarral
                              Thank you very much it works now.

                              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