Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Selecting data from mysql using qt?

    General and Desktop
    7
    150
    97381
    Loading More Posts
    • 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
      lyuts last edited by

      Here is his post.

      [quote author="¤ Dii ¤" date="1286874970"]Do it this way, then it will prompt for a password:

      @/opt/lampp/bin/mysql -D testTwo -h localhost -u root -p
      @
      [/quote]

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

      1 Reply Last reply Reply Quote 0
      • D
        Dii last edited by

        lol, don't be write only :)

        /opt/lampp/bin/mysql -D testTwo -h localhost -u root -p

        1 Reply Last reply Reply Quote 0
        • D
          Dii last edited by

          BTW if you do this, AND it's working, you end up in mysql command line interface, you can get out with 'exit'

          1 Reply Last reply Reply Quote 0
          • D
            doforumda last edited by

            sorry i couldnt notice Dii user

            1 Reply Last reply Reply Quote 0
            • L
              lyuts last edited by

              Wow, mysql is full of surprises. Never got those with psql. ¤ Dii ¤, does it have \q command?

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

              1 Reply Last reply Reply Quote 0
              • D
                doforumda last edited by

                yes i get into mysql command line

                1 Reply Last reply Reply Quote 0
                • D
                  doforumda last edited by

                  whats the reason that my database is not opening in qt?

                  1 Reply Last reply Reply Quote 0
                  • D
                    Dii last edited by

                    lyuts: yes \q is working too

                    doforumda: ok, so get into the mysql comand line with the command above

                    /opt/lampp/bin/mysql -D testTwo -h localhost -u root -p

                    and then do this:

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

                    Then we have a working mysql, and the rights are granted, we can get back to your Qt program.

                    1 Reply Last reply Reply Quote 0
                    • L
                      lyuts last edited by

                      I hope the next post will be like "Hooray, I got it working!!!" :)

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

                      1 Reply Last reply Reply Quote 0
                      • D
                        doforumda last edited by

                        there is an error in sql syntax
                        @
                        mysql> grant all on testTwo.* to ‘root’@’localhost’;
                        ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '��root’@’localhost’' at line 1
                        @

                        1 Reply Last reply Reply Quote 0
                        • D
                          Dii last edited by

                          Ok, back to your Qt program:

                          @#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("");
                          db.setHostName("localhost");
                          
                          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;
                          

                          }@

                          Notice, we don't set a password here.
                          The end is 'return 0' instead of 'a.exec()', and it won't hang. The exec() starts the main event loop, and you don't use it here...

                          1 Reply Last reply Reply Quote 0
                          • L
                            lyuts last edited by

                            I think you need to check apostrophes in that command.

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

                            1 Reply Last reply Reply Quote 0
                            • D
                              Dii last edited by

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

                              1 Reply Last reply Reply Quote 0
                              • D
                                doforumda last edited by

                                i tried without apostrophes as well but same error

                                1 Reply Last reply Reply Quote 0
                                • D
                                  Dii last edited by

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

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    Dii last edited by

                                    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 Reply Quote 0
                                    • D
                                      doforumda last edited by

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

                                      1 Reply Last reply Reply Quote 0
                                      • D
                                        Dii last edited by

                                        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 Reply Quote 0
                                        • D
                                          Dii last edited by

                                          ok, wait I see

                                          1 Reply Last reply Reply Quote 0
                                          • D
                                            Dii last edited by

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

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post