Selecting data from mysql using qt?
-
wrote on 12 Oct 2010, 09:30 last edited by
whats Dii and where are these instructions?
-
wrote on 12 Oct 2010, 09:30 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] -
wrote on 12 Oct 2010, 09:31 last edited by
lol, don't be write only :)
/opt/lampp/bin/mysql -D testTwo -h localhost -u root -p
-
wrote on 12 Oct 2010, 09:32 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'
-
wrote on 12 Oct 2010, 09:32 last edited by
sorry i couldnt notice Dii user
-
wrote on 12 Oct 2010, 09:33 last edited by
Wow, mysql is full of surprises. Never got those with psql. ¤ Dii ¤, does it have \q command?
-
wrote on 12 Oct 2010, 09:34 last edited by
yes i get into mysql command line
-
wrote on 12 Oct 2010, 09:35 last edited by
whats the reason that my database is not opening in qt?
-
wrote on 12 Oct 2010, 09:38 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.
-
wrote on 12 Oct 2010, 09:41 last edited by
I hope the next post will be like "Hooray, I got it working!!!" :)
-
wrote on 12 Oct 2010, 09:42 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
@ -
wrote on 12 Oct 2010, 09:46 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("SELECT firstname,lastname FROM testTable"); 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... -
wrote on 12 Oct 2010, 09:46 last edited by
I think you need to check apostrophes in that command.
-
wrote on 12 Oct 2010, 09:46 last edited by
ok, you have wrong apostrof type there. I mean this >> '
-
wrote on 12 Oct 2010, 09:48 last edited by
i tried without apostrophes as well but same error
-
wrote on 12 Oct 2010, 09:49 last edited by
nope, you had ` before the root and not '
that was the error -
wrote on 12 Oct 2010, 09:51 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
-
wrote on 12 Oct 2010, 09:51 last edited by
you mean like this
grant all on testTwo.* toroot
@localhost
;
if yes it also displaying same error -
wrote on 12 Oct 2010, 09:52 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.
-
wrote on 12 Oct 2010, 09:52 last edited by
ok, wait I see
57/150