Qt 5.2.0 problem z MySQL
-
Witam, pisze program w którym trzeba się zalogować i chciałbym żeby działał na MYSQL to mój kod :
@Login::Login(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::Login)
{
ui->setupUi(this);QSqlDatabase mydb = QSqlDatabase::addDatabase("QMYSQL"); mydb.setHostName("mysql.cba.pl"); mydb.setDatabaseName("cppdxqt_cba_pl"); mydb.setUserName("feniks_sql"); mydb.setPassword("qwe"); if(mydb.open()) { ui->status_label->setText("[+]Połączono"); } else { ui->status_label->setText("[-]Błąd połączenia"); }
}
Login::~Login()
{
delete ui;
}void Login::on_pushButton_clicked()
{QString username, password; username = ui->lineEdit_username->text(); password = ui->lineEdit_Password->text(); if(!mydb.isOpen()) { qDebug()<< "Błąd bazy danych"; } QSqlQuery qry; if(qry.exec("SELECT username, password FROM uzytkownicy WHERE username=\'" + username + "\' AND password=\'" + password + "\'")) { ui->status_label->setText("[+]Zalogowano pomyślnie"); this->hide(); project_list projectlistwindow; projectlistwindow.setModal(true); projectlistwindow.exec(); } else { ui->status_label->setText("[-]Zła nazwa użytkownika lub hasło"); }
}
@nie stety on nie działa :( Wyświetla tylko
@[-]Błąd połączenia@gdy ustawiam żeby odczytał plik ale w SQLite to wszytko działa
odrazu mówię że mam libmysql.ddl w C:\Windows i C:\Windows\System32
i drugie pytanie czy da się zrobić żeby program odszyforwał zhasowane hasło z bazy danych ?
-
Sprawdz czy zadziaął Ci połaczenie za pomoca innego klienta uzywwajacego tej samej biblioteki DLL. Moze mysql.exe ?
Co do pytania o hasło to polecam "link":http://stackoverflow.com/questions/6781931/how-do-i-create-and-store-md5-passwords-in-mysql
-
proponowałbym ci sam skompilować sterowniki do mysql, np według tego opisu -> http://www.cieslak.info.pl/index.php/130-kompilacja-sterownika-do-mysql
-
Jak masz baze na "localhost"
to zajrzyj do logow serwer-a i bedziesz wiedziałco jest nie tak.Moze kiepsko szukałem ale w dokumentacji nie widzę jak dostać sie do bledu , bo jak funkcja open() zwraca FALSE to chyba oczywiste jest że cosposzło nie tak i przydało by się dokopać do błedu jaki zgłosił serwer
albo co innego jest nie tak.