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?
Forum Update on Monday, May 27th 2025

Selecting data from mysql using qt?

Scheduled Pinned Locked Moved General and Desktop
150 Posts 7 Posters 141.8k 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.
  • D Offline
    D Offline
    doforumda
    wrote on 12 Oct 2010, 10:15 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 12 Oct 2010, 10:18 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 12 Oct 2010, 10:21 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 12 Oct 2010, 10:24 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
          • D Offline
            D Offline
            doforumda
            wrote on 12 Oct 2010, 10:38 last edited by
            #80

            any clues?

            1 Reply Last reply
            0
            • L Offline
              L Offline
              lyuts
              wrote on 12 Oct 2010, 10:41 last edited by
              #81

              Change the 19th line to

              @QSqlQuery query(db);@

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

              1 Reply Last reply
              0
              • D Offline
                D Offline
                doforumda
                wrote on 12 Oct 2010, 10:43 last edited by
                #82

                same error again

                1 Reply Last reply
                0
                • L Offline
                  L Offline
                  lyuts
                  wrote on 12 Oct 2010, 10:46 last edited by
                  #83

                  Take a look into mysql logs to see what happens when you are trying to connect from your application.

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

                  1 Reply Last reply
                  0
                  • D Offline
                    D Offline
                    doforumda
                    wrote on 12 Oct 2010, 10:49 last edited by
                    #84

                    how can i check that mysql logs and from where?

                    1 Reply Last reply
                    0
                    • L Offline
                      L Offline
                      lyuts
                      wrote on 12 Oct 2010, 10:54 last edited by
                      #85

                      [quote author="doforumda" date="1286880547"]how can i check that mysql logs and from where? [/quote]

                      Try to find them:
                      @find /opt/lampp -name log -type d@

                      When you find the log directory, find a log for mysql and use tail utility:

                      @tail -f /path/to/mysql.log@

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

                      1 Reply Last reply
                      0
                      • D Offline
                        D Offline
                        doforumda
                        wrote on 12 Oct 2010, 10:56 last edited by
                        #86

                        this command didnt return something
                        @
                        root@zafar-laptop:/# find /opt/lampp -name log -type d
                        root@zafar-laptop:/#
                        @

                        1 Reply Last reply
                        0
                        • D Offline
                          D Offline
                          doforumda
                          wrote on 12 Oct 2010, 11:01 last edited by
                          #87

                          i have a folder inside lampp with the name logs. is it the one which your are talking about

                          1 Reply Last reply
                          0
                          • L Offline
                            L Offline
                            lyuts
                            wrote on 12 Oct 2010, 11:01 last edited by
                            #88

                            Solution 1:
                            @find /opt/lampp -name '*.log'@
                            This might need sudo'ing.

                            Solution 2:
                            If 1st fails then you need to find the config files for mysql (it should be located in /opt/lampp directory) and try to find out what is the location of mysql's log files.

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

                            1 Reply Last reply
                            0
                            • D Offline
                              D Offline
                              doforumda
                              wrote on 12 Oct 2010, 11:03 last edited by
                              #89

                              there are 6 files in there but no mysql.log

                              these are the files
                              access_log, cgisock.1693, error_log, httpd.pid, php_error_log, ssl_request_log

                              1 Reply Last reply
                              0
                              • D Offline
                                D Offline
                                Dii
                                wrote on 12 Oct 2010, 11:04 last edited by
                                #90

                                Don't bother with the log files, I guess Qt looks at the wrong place for the socket file...

                                Let's check this line in your mysql config file (my.cnf):

                                socket = /var/run/mysqld/mysqld.sock

                                You should find my.cnf in /etc/ or /etc/mysql/ ... I don't know ubuntu that much.

                                1 Reply Last reply
                                0
                                • D Offline
                                  D Offline
                                  doforumda
                                  wrote on 12 Oct 2010, 11:05 last edited by
                                  #91

                                  1st solution returns this
                                  @
                                  root@zafar-laptop:/# find /opt/lampp -name *.log
                                  /opt/lampp/htdocs/xampp/contrib/sqlnet.log
                                  @

                                  1 Reply Last reply
                                  0
                                  • D Offline
                                    D Offline
                                    doforumda
                                    wrote on 12 Oct 2010, 11:07 last edited by
                                    #92

                                    with which editor i can view that .conf file. with gedit or something.

                                    1 Reply Last reply
                                    0
                                    • L Offline
                                      L Offline
                                      lyuts
                                      wrote on 12 Oct 2010, 11:07 last edited by
                                      #93

                                      [quote author="¤ Dii ¤" date="1286881470"]
                                      You should find my.cnf in /etc/ or /etc/mysql/ ... I don't know ubuntu that much.[/quote]

                                      I don't think that this config will be in /etc. He uses lampp - a preconfigured bundle. That config might be in /opt/lampp.

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

                                      1 Reply Last reply
                                      0
                                      • D Offline
                                        D Offline
                                        Dii
                                        wrote on 12 Oct 2010, 11:08 last edited by
                                        #94

                                        BTW a quick sum:

                                        • mysql is installed
                                        • database and tables are created
                                        • access is granted
                                        • qt code looks fine

                                        I see two possibilities here: libmysqlclient is missing, or the socket file is at different place.

                                        1 Reply Last reply
                                        0
                                        • D Offline
                                          D Offline
                                          doforumda
                                          wrote on 12 Oct 2010, 11:09 last edited by
                                          #95

                                          the file my.cnf is in etc/mysql folder

                                          1 Reply Last reply
                                          0

                                          85/150

                                          12 Oct 2010, 10:54

                                          • Login

                                          • Login or register to search.
                                          85 out of 150
                                          • First post
                                            85/150
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved