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 Updated to NodeBB v4.3 + New Features

Selecting data from mysql using qt?

Scheduled Pinned Locked Moved General and Desktop
150 Posts 7 Posters 160.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.
  • D Offline
    D Offline
    doforumda
    wrote on last edited by
    #45

    @
    --local-infile Enable/disable LOAD DATA LOCAL INFILE.
    -b, --no-beep Turn off beep on error.
    -h, --host=name Connect to host.
    -H, --html Produce HTML output.
    -X, --xml Produce XML output
    --line-numbers Write line numbers for errors.
    -L, --skip-line-numbers
    Don't write line number for errors. WARNING: -L is
    deprecated, use long version of this option instead.
    -n, --unbuffered Flush buffer after each query.
    --column-names Write column names in results.
    -N, --skip-column-names
    Don't write column names in results. WARNING: -N is
    deprecated, use long version of this options instead.
    -O, --set-variable=name
    Change the value of a variable. Please note that this
    option is deprecated; you can set variables directly with
    --variable-name=value.
    --sigint-ignore Ignore SIGINT (CTRL-C)
    -o, --one-database Only update the default database. This is useful for
    skipping updates to other database in the update log.
    --pager[=name] Pager to use to display results. If you don't supply an
    option the default pager is taken from your ENV variable
    PAGER. Valid pagers are less, more, cat [> filename],
    etc. See interactive help (\h) also. This option does not
    work in batch mode. Disable with --disable-pager. This
    option is disabled by default.
    --no-pager Disable pager and print to stdout. See interactive help
    (\h) also. WARNING: option deprecated; use
    --disable-pager instead.
    -p, --password[=name]
    Password to use when connecting to server. If password is
    not given it's asked from the tty.
    -P, --port=# Port number to use for connection or 0 for default to, in
    order of preference, my.cnf, $MYSQL_TCP_PORT,
    /etc/services, built-in default (3306).
    --prompt=name Set the mysql prompt to this value.
    --protocol=name The protocol of connection (tcp,socket,pipe,memory).
    -q, --quick Don't cache result, print it row by row. This may slow
    down the server if the output is suspended. Doesn't use
    history file.
    -r, --raw Write fields without conversion. Used with --batch.
    --reconnect Reconnect if the connection is lost. Disable with
    --disable-reconnect. This option is enabled by default.
    -s, --silent Be more silent. Print results with a tab as separator,
    each row on new line.
    -S, --socket=name Socket file to use for connection.
    --ssl Enable SSL for connection (automatically enabled with
    other flags). Disable with --skip-ssl.
    --ssl-ca=name CA file in PEM format (check OpenSSL docs, implies
    --ssl).
    --ssl-capath=name CA directory (check OpenSSL docs, implies --ssl).
    --ssl-cert=name X509 cert in PEM format (implies --ssl).
    --ssl-cipher=name SSL cipher to use (implies --ssl).
    --ssl-key=name X509 key in PEM format (implies --ssl).
    --ssl-verify-server-cert
    Verify server's "Common Name" in its cert against
    hostname used when connecting. This option is disabled by
    default.
    -t, --table Output in table format.
    --tee=name Append everything into outfile. See interactive help (\h)
    also. Does not work in batch mode. Disable with
    --disable-tee. This option is disabled by default.
    --no-tee Disable outfile. See interactive help (\h) also. WARNING:
    option deprecated; use --disable-tee instead
    -u, --user=name User for login if not current user.
    -U, --safe-updates Only allow UPDATE and DELETE that uses keys.
    -U, --i-am-a-dummy Synonym for option --safe-updates, -U.
    -v, --verbose Write more. (-v -v -v gives the table output format).
    -V, --version Output version information and exit.
    -w, --wait Wait and retry if connection is down.
    --connect_timeout=# Number of seconds before connection timeout.
    --max_allowed_packet=#
    Max packet length to send to, or receive from server
    --net_buffer_length=#
    Buffer for TCP/IP and socket communication
    --select_limit=# Automatic limit for SELECT when using --safe-updates
    --max_join_size=# Automatic limit for rows in a join when using
    --safe-updates
    --secure-auth Refuse client connecting to server if it uses old
    (pre-4.1.1) protocol
    --server-arg=name Send embedded server this as a parameter.
    --show-warnings Show warnings after every statement.

    Default options are read from the following files in the given order:
    /etc/xampp/my.cnf /opt/lampp/etc/my.cnf ~/.my.cnf
    The following groups are read: mysql client
    The following options may be given as the first argument:
    --print-defaults Print the program argument list and exit
    --no-defaults Don't read default options from any options file
    --defaults-file=# Only read default options from the given file #
    --defaults-extra-file=# Read this file after the global files are read

    @

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

      @
      Variables (--variable-name=value)
      and boolean options {FALSE|TRUE} Value (after reading options)


      auto-rehash FALSE
      character-sets-dir (No default value)
      column-type-info FALSE
      comments FALSE
      compress FALSE
      debug-check FALSE
      debug-info FALSE
      database (No default value)
      default-character-set latin1
      delimiter ;
      vertical FALSE
      force FALSE
      named-commands FALSE
      ignore-spaces FALSE
      local-infile FALSE
      no-beep FALSE
      host (No default value)
      html FALSE
      xml FALSE
      line-numbers TRUE
      unbuffered FALSE
      column-names TRUE
      sigint-ignore FALSE
      port 3306
      prompt mysql>
      quick FALSE
      raw FALSE
      reconnect TRUE
      socket /opt/lampp/var/mysql/mysql.sock
      ssl FALSE
      ssl-ca (No default value)
      ssl-capath (No default value)
      ssl-cert (No default value)
      ssl-cipher (No default value)
      ssl-key (No default value)
      ssl-verify-server-cert FALSE
      table FALSE
      user root
      safe-updates FALSE
      i-am-a-dummy FALSE
      connect_timeout 0
      max_allowed_packet 16777216
      net_buffer_length 16384
      select_limit 1000
      max_join_size 1000000
      secure-auth FALSE
      show-warnings FALSE

      @

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

        Hm, apparently mysql is rather strict in terms of specifying parameters. Try to follow ¤ Dii ¤'s instructions.

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

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

          whats Dii and where are these instructions?

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

            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
            0
            • D Offline
              D Offline
              Dii
              wrote on last edited by
              #50

              lol, don't be write only :)

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

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

                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
                0
                • D Offline
                  D Offline
                  doforumda
                  wrote on last edited by
                  #52

                  sorry i couldnt notice Dii user

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

                    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
                    0
                    • D Offline
                      D Offline
                      doforumda
                      wrote on last edited by
                      #54

                      yes i get into mysql command line

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

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

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

                          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
                          0
                          • L Offline
                            L Offline
                            lyuts
                            wrote on last edited by
                            #57

                            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
                            0
                            • D Offline
                              D Offline
                              doforumda
                              wrote on last edited by
                              #58

                              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
                              0
                              • D Offline
                                D Offline
                                Dii
                                wrote on last edited by
                                #59

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

                                          • Login

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