Login · Register
04.09.2010 18:19:02
Aktualnie online
· Gości online: 1

· 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
· djszalas05:54:28
· kabanek19:46:59
· pipczaqu 1 dzień
· DamianLii 2 dni
· janisz 2 dni
· radzioon 2 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
Pomoc przy projekcie
djszalas
#1 Drukuj posta
Dodany dnia 03.06.2010 10:29:12
Awatar

Początkujący Użytkownik


Postów: 28
Data rejestracji: 03.06.10

Szukam pomocy w projekcie na zaliczenie. Projekt ten tyczy się zakładu fryzjerskiego a dokładnie zapisywaniu klienta na daną usługę. Mam już zrobione wyświetlanie klientów z bazy, dodawanie klientów, ale są jeszcze 3 najwazniejsze części tej aplikacji otóż: odświeżanie dodanego klienta powinno byc automatycznie po zatwierdzeniu (funkcja zatwierdzania klienta nie widzi zadeklarowanego QSqlTableModel, ponieważ jest to osobne okno i osobna klasa), szukajka miałaby być na zasadzie np google czyli wpisując pierwszą literkę już powinno wyświetlić wiersze z tabeli (i tylko te wiersze) które zawierają tą literke itd. Ostatnią prośbą jest usuwanie wierszy (czyli klientów), zaznaczając dany wiersz klikając usuń powinien zniknąć z listy. W załączniku przesyłam screena tej aplikacji(jest to główne okno gdzie wyświetla liste zapisanych klientów).

Bardzo proszę o szybką odpowiedź i ewentualną pomoc.
djszalas dodał/a następującą grafikę:


[454.89Kb]
 
MadMike44
#2 Drukuj posta
Dodany dnia 03.06.2010 12:54:20
Awatar

Główny administrator


Postów: 61
Data rejestracji: 03.09.09

Nie wiem, dlaczego masz problem np. z usuwaniem klienta. Najpierw usuwasz go z bazy, a następnie ponownie wyświetlasz zawartość bazy w oknie głównym. To samo dotyczy dodawania nowego klienta - po zatwierdzeniu dodajesz go do bazy i wyświetlasz już zaktualizowaną bazę w oknie głównym. Nie powinno stanowić to dla Ciebie problemu, skoro zaszedłeś już tak daleko.

Co do wyszukiwania - przy większej liczbie klientów możesz mieć problem z szybkością działania bazy - tzn. takie wyszukiwanie po wpisaniu każdego znaku jest bardzo kosztowne - aczkolwiek jest to możliwe - i tak jak wcześniej - po każdym przeszukaniu bazy (przefiltrowaniu wyników) trzeba uaktualnić widok w głównym oknie Smile
 
www.devqt.pl
Karter
#3 Drukuj posta
Dodany dnia 03.06.2010 13:05:06
Awatar

Początkujący Użytkownik


Postów: 20
Data rejestracji: 04.10.09

A dalbys kod projektu bo sam chcialem takie cos zrobic , i przyda mi sie przyklad . Moze cos wymysle to ci podesle.
 
djszalas
#4 Drukuj posta
Dodany dnia 03.06.2010 13:23:57
Awatar

Początkujący Użytkownik


Postów: 28
Data rejestracji: 03.06.10

Przesyłam zapakowane wszystkie pliki tego projektu:

http://www2.zippyshare.com/v/90049822/file.html

co do usuwania to zapewne chodzi ci o nowe okno w którym sie usuwa wpisane dane w QLineEdit tak jak dodawanie, to umiem ale chciałem nieco szybciej zaznaczając wiersz i klikając usuń... szukajke zrobie pewnie na tej samej zasadzie skoro moga być problemy. Jakby ktoś miał jeszcze jakieś propozycje to jestem otwarty Smile i dziękuje za pomoc
 
Karter
#5 Drukuj posta
Dodany dnia 03.06.2010 18:34:49
Awatar

Początkujący Użytkownik


Postów: 20
Data rejestracji: 04.10.09

Mi MOC zglasza ze za duzo jest zmian, ja uzywam Qt w wersji 4.6.2 a ty w 4.5.2.

Pobierz kod źródłowy  Kod źródłowy
/Pulpit/projekt/moc_mainwindow.cpp:14: error: #error "This file was generated using the moc from 4.5.2. It"
/Pulpit/projekt/moc_mainwindow.cpp:15: error: #error "cannot be used with the include files from this version of Qt."
/Pulpit/projekt/moc_mainwindow.cpp:16: error: #error "(The moc has changed too much.)"



Edytowane przez Karter dnia 03.06.2010 18:35:10
 
MadMike44
#6 Drukuj posta
Dodany dnia 03.06.2010 18:41:21
Awatar

Główny administrator


Postów: 61
Data rejestracji: 03.09.09

Wywal pliki generowane automatycznie - przecież przy każdej kompilacji tworzą się one na nowo Smile
 
www.devqt.pl
Karter
#7 Drukuj posta
Dodany dnia 03.06.2010 18:44:45
Awatar

Początkujący Użytkownik


Postów: 20
Data rejestracji: 04.10.09

faktycznie , widocznie nie wszystkie usunolem. Smile
 
MadMike44
#8 Drukuj posta
Dodany dnia 03.06.2010 19:14:12
Awatar

Główny administrator


Postów: 61
Data rejestracji: 03.09.09

djszalas

Jeśli chodzi o twój program, to używając klas QSqlTableModel i QSqlRelationalTableModel można edytować każdą komórkę tabeli w oknie głównym programu i zmiany będą automatycznie zapisywane w bazie. Można więc też pewnie usuwać rekordy w ten sposób. Najlepiej popatrz na przykłady na stronie biblioteki:

http://doc.qt.nok...s-sql.html

Przykłady są też umieszczone w katalogu, w którym jest zainstalowane Qt Smile
 
www.devqt.pl
djszalas
#9 Drukuj posta
Dodany dnia 03.06.2010 20:15:28
Awatar

Początkujący Użytkownik


Postów: 28
Data rejestracji: 03.06.10

Hehe aż taki mistrzuniu to ja raczej nie jestem... może coś z tego wydusze. Jak stworze to "coś" do końca to wrzuce tutaj do działu projektów jeśli chcecie Wink
 
janisz
#10 Drukuj posta
Dodany dnia 03.06.2010 21:47:19
Awatar

Użytkownik


Postów: 51
Data rejestracji: 22.03.10

MadMike44 napisał/a:
Co do wyszukiwania - przy większej liczbie klientów możesz mieć problem z szybkością działania bazy

Chyba że nie zależy ci na pamięci wtedy możesz rekordy trzymać dodatkowo na drzewie i wyszukiwać je w czasie O(lg n)
 
djszalas
#11 Drukuj posta
Dodany dnia 03.06.2010 22:30:13
Awatar

Początkujący Użytkownik


Postów: 28
Data rejestracji: 03.06.10

W czasie czego? o.O` hehe nie uważam się za wybitnego programistę poprostu próbuje zaliczyć przedmiot zwany inżynierią oprogramowania. Często musze coś napisać skompilować i zobaczyć jak działa bo inaczej nie zakumam.


Mam problem troszkę z usuwaniem ponieważ zrobiłem to na takiej samej zasadzie jak dodaj czyli wpisuje sie w QLineEdit jakieś dane i one potem mają wpływ na baze
Pobierz kod źródłowy  Kod źródłowy

QSqlQuery query;
    query.prepare("INSERT INTO klient (imie,nazwisko,telefon,data,godzina) VALUES (:imie,:nazwisko,:telefon,:data,:godzina)");

    QString tmp = wpis->text();
    query.bindValue(":imie", tmp);





to jest tylko kawałek i na takiej samej zasadzie chce zrobić usuwanie:
Pobierz kod źródłowy  Kod źródłowy

QSqlQuery query3;
    query3.prepare("DELETE FROM klient WHERE imie=:imie,nazwisko=:nazwisko,telefon=:telefon,data=:data,godzina=:godzina");

    QString tmp = usun->text();
    query3.bindValue(":imie", tmp);





Nie usuwa się nic....
Edytowane przez djszalas dnia 04.06.2010 14:46:52
 
janisz
#12 Drukuj posta
Dodany dnia 05.06.2010 21:39:05
Awatar

Użytkownik


Postów: 51
Data rejestracji: 22.03.10

A próbowałeś tak
Pobierz kod źródłowy  Kod źródłowy
query3.exec("DELETE FROM klient WHERE ...");


 
janisz
#13 Drukuj posta
Dodany dnia 11.07.2010 13:34:32
Awatar

Użytkownik


Postów: 51
Data rejestracji: 22.03.10

Tak a propos wyszukiwania.To jest do tego specjalna klasa QCompleter
http://doc.qt.nok...leter.html
http://doc.qt.nok...ml#details
 
Przeskocz do forum:
Podobne Tematy
Temat Forum Odpowiedzi Ostatni post
Wczytywanie danych z pliku za pomocą strumieni Szukam Pomocy 1 11.10.2009 19:43:01