Login · Register
04.09.2010 18:58:09
Aktualnie online
· Gości online: 3

· Użytkowników online: 0

· Łącznie użytkowników: 52
· Najnowszy użytkownik: snake


Reklama
www.ddt.pl

www.maddevblog.eu

Statystyki reklamowe

Statystyki

Monitorowanie:



W sieci od:
24 czerwca 2009


Logowanie
Nazwa użytkownika

Hasło



Nie masz jeszcze konta?
Zarejestruj się

Nie możesz się zalogować?
Poproś o nowe hasło

Ostatnie artykuły

Ostatnio Widziani
· djszalas06:33:35
· kabanek20:26:06
· pipczaqu 2 dni
· DamianLii 2 dni
· janisz 2 dni
· radzioon 3 dni
· snake 3 dni
· damn 3 dni
· iluvathar 3 dni
· adam2006 6 dni

Zobacz temat
DevQt.pl - Programowanie C++ / Qt :: PROGRAMOWANIE - C++ i Qt :: Szukam Pomocy
Kto jeszcze czyta ten temat? 1 gość(ci)
 Drukuj temat
Integracja z MySQL.
kof
#1 Drukuj posta
Dodany dnia 09.07.2010 21:17:16
Awatar

Początkujący Użytkownik


Postów: 37
Data rejestracji: 04.07.10

Czy ktoś miał okazje używać MySQL za pośrednictwem Qt w systemie Linux?

Chciałbym się dowiedzieć jak przebiega ta procedura? Próbowałem się wzorować na pewnych tutorialach, ale mimo wszelkich prób qt nie wykrywało sterownika MYSQL.

Jeżeli odpowiedź była, by trafna polecałbym umieścić ją w dziale Artykuły.
Tylko programy tworzą programistów.
 
http://dev-kof.blogspot.com/
djszalas
#2 Drukuj posta
Dodany dnia 09.07.2010 21:34:21
Awatar

Początkujący Użytkownik


Postów: 28
Data rejestracji: 03.06.10

nie wiem jakiego linucha masz, ja aktualnie pracuje na Ubuntu. Jedyne co musiałem zrobić to dwie podstawowe rzeczy:

odpalasz terminal->wpisujesz "sudo apt-get install mysql-server"(bez cudzysłowi Pfft) w teorii powinien odrazu zainstalować lib`y ale jak tego nie zrobi to sciągnij sobie to:

http://packages.u...r-core-5.1
i to Grin
http://packages.u...server-5.1

jak bedą jeszcze jakieś problemy to pisz Smile
"Z wirusami na linuksie jest jak z Yeti. Niby jest ale nikt nie widział."
 
kof
#3 Drukuj posta
Dodany dnia 09.07.2010 21:38:48
Awatar

Początkujący Użytkownik


Postów: 37
Data rejestracji: 04.07.10

Sam klient wraz z serwerem mysql pomyślnie zainstalowałem. Działa i sprawdzałem.

Wątek poruszyłem ze względu na Qt, bo z poziomu kodu nie mogę odwołać się do bazy.
Tylko programy tworzą programistów.
 
http://dev-kof.blogspot.com/
djszalas
#4 Drukuj posta
Dodany dnia 09.07.2010 21:52:55
Awatar

Początkujący Użytkownik


Postów: 28
Data rejestracji: 03.06.10

Połączenie z bazą

Pobierz kod źródłowy  Kod źródłowy
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");
    db.setDatabaseName("salon");
    db.setUserName("root");
    db.setPassword("qwe456asd");
    //db.setPort(3306); port nie jest jakoś bardzo wymagany jak widzisz
    db.open();




Na wyświetlanie bazy są różne sposoby, najprostszy to taki:
Pobierz kod źródłowy  Kod źródłowy

QSqlTableModel *model = new QSqlTableModel(this);
model->setTable("nazwa_tabeli");
model->select();

QTableView *view = new QTableView(this);
view->setModel(model);





Dodawanie danych do tabeli wygląda tak:
Pobierz kod źródłowy  Kod źródłowy

QSqlQuery query;
query.prepare("INSERT INTO tabela (kolumna1, kolumna2, kolumna3) VALUES (:kolumna1, :kolumna2, :kolumna3")

QString tmp = (jakiś QLineEdit)->text();
query.bindValue(":kolumna1", tmp);
QString tmp2 = (jakiś QLineEdit2)->text();
query.bindValue(":kolumna2, tmp2);
itd...





Usuwanie
Pobierz kod źródłowy  Kod źródłowy

QString tmp2 = (jakiś QLineEdit2)->text();
QString tmp = (jakiś QLineEdit)->text();
QSqlQuery query;
query.exec("DELETE FROM tabela WHERE kolumna1 like '"+tmp+"'"+" and kolumna2 like '"+tmp2+"'"+"");





Chyba wszystko co wiem.
"Z wirusami na linuksie jest jak z Yeti. Niby jest ale nikt nie widział."
 
kof
#5 Drukuj posta
Dodany dnia 10.07.2010 08:07:00
Awatar

Początkujący Użytkownik


Postów: 37
Data rejestracji: 04.07.10

Serwer i klient mi działa. Natomiast instrukcja:
Pobierz kod źródłowy  Kod źródłowy
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");



Powoduje wyświetlenie na wyjściu:
Pobierz kod źródłowy  Kod źródłowy
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QSQLITE2
"Driver not loaded"




System: Ubuntu 10.04 LTS - Lucid Lynx (32 bit)
IDE dla C++: Qt Creator - Wersja 2.0.0

Czy możesz mi wyświetlić:
1. Treść pliku pro z projektu w którym używasz mysql
2. Lewy pasek->Projekty->Ustawienia budowania->Kroki procesu budowania->Make oraz qmake, chciałbym zobaczyć jaką treść zawierają te pola u Ciebie.

Jaką wersje Qt Creatora posiadasz?
Tylko programy tworzą programistów.
 
http://dev-kof.blogspot.com/
janisz
#6 Drukuj posta
Dodany dnia 10.07.2010 09:23:43
Awatar

Użytkownik


Postów: 51
Data rejestracji: 22.03.10

musisz podobnie jak w Windowsie skompilować sterownik. Tu masz to opisane http://www.pikopo...for-linux/
Edytowane przez janisz dnia 10.07.2010 09:24:36
 
MadMike44
#7 Drukuj posta
Dodany dnia 10.07.2010 12:19:31
Awatar

Główny administrator


Postów: 61
Data rejestracji: 03.09.09

Chodzi o to, że biblioteka Qt obsługuje szereg baz danych, ale z różnych powodów dostarcza tylko dwa lub trzy gotowe sterowniki (z tego co pamiętam, to są to SQLite oraz ODBC). Natomiast pozostałe sterowniki trzeba sobie zbudować samodzielnie. Tutaj jest całe info:

http://doc.qt.nok...river.html
 
www.devqt.pl
kof
#8 Drukuj posta
Dodany dnia 10.07.2010 15:46:25
Awatar

Początkujący Użytkownik


Postów: 37
Data rejestracji: 04.07.10

Wszystko działa. Wielkie dzięki wszystko działa. Trafić samemu na tę stronę myślę, że byłby trudno.

Wątek wg mnie można opisać w postaci krótkiego tutoriala na 100% jestem przekonany, że może to komuś w przyszłości pomoże.

Co o tym sądzicie?
Edytowane przez kof dnia 10.07.2010 15:47:42
Tylko programy tworzą programistów.
 
http://dev-kof.blogspot.com/
MadMike44
#9 Drukuj posta
Dodany dnia 10.07.2010 17:20:11
Awatar

Główny administrator


Postów: 61
Data rejestracji: 03.09.09

Myślę, że takie tematy są najbardziej przydatne. Pozostały mi jak na razie do zrobienia dwie najważniejsze rzeczy - sensowny podział działu ARTYKUŁY i dodanie możliwości dodawania artykułów przez Użytkowników oraz zorganizowanie działu PROJEKTY tak, aby każdy Użytkownik mógł dodawać własne prace (plus możliwość oceniania i komentowania).

Kiedy się z tym uporam, można będzie zacząć pisać artykuły i takie krótkie how-to na konkretne tematy. Oczywiście nie będę się bezsensownie ścierał, jeżeli na innych stronach znajdę gotowe opisy rozwiązań - wtedy pozostanie przetłumaczenie tego na język polski + ewentualne poprawki Smile
 
www.devqt.pl
Przeskocz do forum:
Podobne Tematy
Temat Forum Odpowiedzi Ostatni post
Układanie rekordów z bazy mysql Szukam Pomocy 26 13.07.2010 20:52:08