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. Selecting data from mysql using qt?

Selecting data from mysql using qt?

Scheduled Pinned Locked Moved General and Desktop
150 Posts 7 Posters 186.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.
  • L Offline
    L Offline
    lyuts
    wrote on last edited by
    #60

    I think you need to check apostrophes in that command.

    I'm a rebel in the S.D.G.

    1 Reply Last reply
    0
    • D Offline
      D Offline
      Dii
      wrote on last edited by
      #61

      ok, you have wrong apostrof type there. I mean this >> '

      1 Reply Last reply
      0
      • D Offline
        D Offline
        doforumda
        wrote on last edited by
        #62

        i tried without apostrophes as well but same error

        1 Reply Last reply
        0
        • D Offline
          D Offline
          Dii
          wrote on last edited by
          #63

          nope, you had ` before the root and not '
          that was the error

          1 Reply Last reply
          0
          • D Offline
            D Offline
            Dii
            wrote on last edited by
            #64

            ok, wait a second, I checked it in the meantime and it won't work without password, stay tuned, I post the right command

            1 Reply Last reply
            0
            • D Offline
              D Offline
              doforumda
              wrote on last edited by
              #65

              you mean like this
              grant all on testTwo.* to root@localhost ;
              if yes it also displaying same error

              1 Reply Last reply
              0
              • D Offline
                D Offline
                Dii
                wrote on last edited by
                #66

                so, here we go:

                grant all on testTwo.* to 'root'@'localhost' identified by 'password';

                Make the right apostrophes! :) You have to set the password in your Qt app too.

                1 Reply Last reply
                0
                • D Offline
                  D Offline
                  Dii
                  wrote on last edited by
                  #67

                  ok, wait I see

                  1 Reply Last reply
                  0
                  • D Offline
                    D Offline
                    Dii
                    wrote on last edited by
                    #68

                    the Devnet's forum motor changes the apostrophes somehow... use the straight apostrophes everywhere
                    I mean this @'@

                    1 Reply Last reply
                    0
                    • D Offline
                      D Offline
                      doforumda
                      wrote on last edited by
                      #69

                      mysql query did its job its now successful but when i use qt code and try to make it run it displays same error

                      @
                      Starting /home/zafar/c++/dbExample-build-desktop/dbExample...
                      false
                      QSqlQuery::exec: database not open
                      /home/zafar/c++/dbExample-build-desktop/dbExample exited with code 0
                      @

                      1 Reply Last reply
                      0
                      • D Offline
                        D Offline
                        doforumda
                        wrote on last edited by
                        #70

                        wait i think the query is not sucessful because it displays this message 0 rows affected
                        @
                        mysql> grant all on testTwo.* to 'root'at'localhost' identified by 'password';
                        Query OK, 0 rows affected (0.01 sec)
                        @

                        1 Reply Last reply
                        0
                        • L Offline
                          L Offline
                          lyuts
                          wrote on last edited by
                          #71

                          Add this to your code after connecting:

                          @qDebug() << db.lastError().text();@

                          And tell us what the error is.

                          I'm a rebel in the S.D.G.

                          1 Reply Last reply
                          0
                          • L Offline
                            L Offline
                            lyuts
                            wrote on last edited by
                            #72

                            [quote author="doforumda" date="1286877766"]wait i think the query is not sucessful because it displays this message 0 rows affected
                            @
                            mysql> grant all on testTwo.* to 'root'at'localhost' identified by 'password';
                            Query OK, 0 rows affected (0.01 sec)
                            @[/quote]

                            Did you run that command with 'password' instead of '123456'?

                            I'm a rebel in the S.D.G.

                            1 Reply Last reply
                            0
                            • D Offline
                              D Offline
                              Dii
                              wrote on last edited by
                              #73

                              0 rows is just fine with the grant command... have you set the password on

                              @db.setPassword("password");@

                              ?

                              1 Reply Last reply
                              0
                              • D Offline
                                D Offline
                                doforumda
                                wrote on last edited by
                                #74

                                this is the output after adding lastError.text()
                                @
                                Starting /home/zafar/c++/dbExample-build-desktop/dbExample...
                                " "
                                false
                                QSqlQuery::exec: database not open
                                /home/zafar/c++/dbExample-build-desktop/dbExample exited with code 0
                                @

                                lyut: yes i use command with 'password' not '123456'

                                Dii sorry i didnt understand this db.setPassword("password");
                                where should i set this

                                1 Reply Last reply
                                0
                                • L Offline
                                  L Offline
                                  lyuts
                                  wrote on last edited by
                                  #75

                                  [quote author="doforumda" date="1286878193"]
                                  lyut: yes i use command with 'password' not '123456'

                                  Dii sorry i didnt understand this db.setPassword("password");
                                  where should i set this[/quote]

                                  1. I assume you should have specified the actual password when running that query.
                                  2. @db.setPassword("password");@ should be added to your source code just where you set db options.

                                  I'm a rebel in the S.D.G.

                                  1 Reply Last reply
                                  0
                                  • D Offline
                                    D Offline
                                    doforumda
                                    wrote on last edited by
                                    #76

                                    i ran query again with actual password
                                    i have already setup password in my qt code here it is
                                    @
                                    #include <QApplication>
                                    #include <QtSql>

                                    int main(int argc, char *argv[])
                                    {
                                    QCoreApplication a(argc, argv);

                                    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
                                    db.setDatabaseName("testTwo");
                                    db.setUserName("root");
                                    db.setPassword("123456");
                                    db.setHostName("localhost");
                                    
                                    qDebug() << db.lastError().text();
                                    
                                    bool ok = db.open();
                                    qDebug() << ok;
                                    
                                    QSqlQuery query;
                                    query.exec&#40;"SELECT firstname,lastname FROM testTable"&#41;;
                                    while(query.next()) {
                                        QString firstName = query.value(0).toString();
                                        QString secondName = query.value(1).toString();
                                        qDebug() << "First Name: " << firstName << "Last Name:" << secondName;
                                        qDebug() << db.lastError();
                                    }
                                    return 0;
                                    

                                    }

                                    @

                                    1 Reply Last reply
                                    0
                                    • D Offline
                                      D Offline
                                      Dii
                                      wrote on last edited by
                                      #77

                                      db.lasterror().text() should come after line 16 (db.open()).
                                      The password in the Qt code must be the same what you have specified in the GRANT command above.

                                      I suspect probably, you haven't made the database and the table in mysql yet, if you go back to mysql command line, what do you get by these commands:

                                      @SHOW databases;

                                      USE testTwo;

                                      SHOW tables;@

                                      I go to dinner, be back in a few minutes :)

                                      1 Reply Last reply
                                      0
                                      • L Offline
                                        L Offline
                                        lyuts
                                        wrote on last edited by
                                        #78

                                        You put my debug before opening the connection. Put it after.

                                        I'm a rebel in the S.D.G.

                                        1 Reply Last reply
                                        0
                                        • D Offline
                                          D Offline
                                          doforumda
                                          wrote on last edited by
                                          #79

                                          i changed db.lastError().text(); and place it after db.open()
                                          this is the output
                                          @
                                          Starting /home/zafar/c++/dbExample-build-desktop/dbExample...
                                          "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) QMYSQL: Unable to connect"
                                          false
                                          QSqlQuery::exec: database not open
                                          /home/zafar/c++/dbExample-build-desktop/dbExample exited with code 0
                                          @

                                          the commands in mysql displayed are here
                                          repectively to your commands

                                          @
                                          mysql> show databases;
                                          +--------------------+
                                          | Database |
                                          +--------------------+
                                          | information_schema |
                                          | cdcol |
                                          | mysql |
                                          | phpmyadmin |
                                          | test |
                                          | testTwo |
                                          +--------------------+
                                          6 rows in set (0.01 sec)

                                          mysql> use testTwo
                                          Database changed
                                          mysql> show tables
                                          -> ;
                                          +-------------------+
                                          | Tables_in_testTwo |
                                          +-------------------+
                                          | testTable |
                                          +-------------------+
                                          1 row in set (0.01 sec)

                                          @

                                          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