Heos Napisano Listopad 1, 2010 Zgłoszenie Share Napisano Listopad 1, 2010 A więc tak: Mam zamysł napisać program w QT, który będzie miał za zadanie głównie łączyć się z bazą danych MySQL, pobierać o modyfikować dane w niej zawarte. Jednak na starcie rodzi się problem, w jaki sposób połączyć się z MySQL i jak dodać do QT odpowiednie biblioteki? Zwykłe #include mysql.h oczywiście nie działa. Prosiłbym aby tłumaczyć mi to krok po kroku jak głupiemu, gdyż z C++, QT ledwo co zaczynam przygodę. Przyzwyczajony jestem do NetBeansa, który wiele więcej podpowiadał. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
klimas7 Napisano Listopad 1, 2010 Zgłoszenie Share Napisano Listopad 1, 2010 Witam, Najlepiej otworzyc QtAssistant i poczytac o QtSql Notabene nie trzeba inkludowac zadnych bibliotek zewnetrznych wszystko realizujesz przez drivery dostarczone w Qt. Mozna oczywiscie korzystac z zewnetrznych rzeczy ale na poczatku tak jest najprosciej. Dobrze tez w 'Qt Examples and Demos' przegladnac sobie przyklady SQL. [edit] Jesli masz przyzwyczajenia z javy to w uzywa sie tego podobnie jak jdbc. A i jak masz przyzwyczajenia z NetBeansa to warto sobie skonfigurowac eclipse z pluginem do Qt. [/edit] pz B.Klimas Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Heos Napisano Listopad 1, 2010 Autor Zgłoszenie Share Napisano Listopad 1, 2010 Fajnie, fajnie ale ja prosiłem aby mi to rzeczowo i najlepiej na przykładzie wyłożyć. Jak, jakie biblioteki załączyć, jak się połączyć z baza i chociaż jedno przykładowe zapytanie. Resztę już opanuję. W Asstistant'cie nic nie mogłem znaleźć o łączeniu z serwerem MySQL. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
morsik Napisano Listopad 1, 2010 Zgłoszenie Share Napisano Listopad 1, 2010 Normalnie includujesz QtSql jak każdy inny plik (: #include <QtSql> i potem czytasz dokumentację na ten temat http://doc.trolltech.com/4.7/qtsql.html Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Heos Napisano Listopad 1, 2010 Autor Zgłoszenie Share Napisano Listopad 1, 2010 Wg podanego poradnika: #include "mainwindow.h" #include "ui_mainwindow.h" #include "Qt/QtSql" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_pushButton_10_clicked() { QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL"); db.setHostName("host"); db.setDatabaseName("baza"); db.setPort(3306); db.setUserName("user9"); db.setPassword("haslo"); db.open(); if (db.lastError().isValid()) qDebug() << db.lastError().driverText(); } Działa, jednak przy połączeniu pokazuje: "QPSQL: Unable to connect" Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
klimas7 Napisano Listopad 1, 2010 Zgłoszenie Share Napisano Listopad 1, 2010 To wkońcu PostgreSql czy MySql? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Heos Napisano Listopad 1, 2010 Autor Zgłoszenie Share Napisano Listopad 1, 2010 Pisałem wyraźnie, MySQL. Jednak na starcie rodzi się problem, w jaki sposób połączyć się z MySQL W Asstistant'cie nic nie mogłem znaleźć o łączeniu z serwerem MySQL. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
klimas7 Napisano Listopad 1, 2010 Zgłoszenie Share Napisano Listopad 1, 2010 ... ja umie czytac i to ze zrozumieniem, wedlug mnie QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL"); To PostgreSQL Wiec prosze przeczytaj kawalek chociaz dokumentacji która polecil Ci morsik: Driver Type Description ... QMYSQL MySQL Driver ... QPSQL PostgreSQL Driver ... pz B.KLimas Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Heos Napisano Listopad 1, 2010 Autor Zgłoszenie Share Napisano Listopad 1, 2010 Hm, faktycznie - mój błąd. Po zmianie: QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QPSQL7 QPSQL "Driver not loaded" Jak wnioskuję jednak brakuje jednak sterowników do MYSQL Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
klimas7 Napisano Listopad 1, 2010 Zgłoszenie Share Napisano Listopad 1, 2010 Masz paczkę qt-mysql? pz B.KLimas Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Heos Napisano Listopad 1, 2010 Autor Zgłoszenie Share Napisano Listopad 1, 2010 [root@fedora ~]# yum install qt-mysql.x86_64 Wczytane wtyczki: presto, refresh-packagekit Ustawianie procesu instalacji Pakiet 1:qt-mysql-4.6.3-8.fc13.x86_64 jest już zainstalowany w najnowszej wersji Nie ma niczego do zrobienia Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
klimas7 Napisano Listopad 1, 2010 Zgłoszenie Share Napisano Listopad 1, 2010 Może to pomoże ... Ale dalej to już samemu pz B.KLimas Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Heos Napisano Listopad 2, 2010 Autor Zgłoszenie Share Napisano Listopad 2, 2010 Cóż, te ichnie sposoby nie działając więc uśmiechnąłbym się jeszcze raz o pomoc, czemu mimo: QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); Pokazuje błąd: QSqlDatabase: QMYSQL driver not loaded Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
klimas7 Napisano Listopad 2, 2010 Zgłoszenie Share Napisano Listopad 2, 2010 Rozumie że tak jak pisali na tamtym forum masz driver w katalogu (lub innym adekwatnym) /usr/lib64/qt4/plugins/sqldrivers/libqsqlmysql.so pz B.KLimas Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Heos Napisano Listopad 2, 2010 Autor Zgłoszenie Share Napisano Listopad 2, 2010 Tak, jest. Przed chwila raz jeszcze sprawdzilem. Nie wiem czy to to i czemu tak bylo, ale pomoglo -> nie mialem uprawnien (jako zwykly uzytkownik) do odczytywania pliku biblioteki, teraz juz jest ok. Dzieki za pomoc Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się