JDBC- polecenie select pobierajace warunek z pola tekstowego

JDBC- polecenie select pobierajace warunek z pola tekstowego
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam.

Pierwszy raz mam do czynienia z JDBC i toworzę prostą aplikację okienkową w NetBeans.

Chciałabym dowiedzieć się jaką metodą a najchętniej zobaczyć przykład jak wyszukiwać z bazy danych wszytkie tutuły płyt które należą do danej kategorii muzycznej --> kategorie i płyty są w róznych tabelach.Nazwę kategorii wpisuję w pole teksotwe.
Pobieram wszystko z obu tabel a następnie porównuję instrukcją warnukową if czy pobrany z pola tekstowego string jest taki sam jak kategoria -- > nie skutkuje, w efekcie dostaję wszystkie płyty :(

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
1

Nie pobieraj wszystkiego z obu tabel. Poczytaj np. o warunku WHERE w SQL.

  • Rejestracja: dni
  • Ostatnio: dni
0

Wiem jak używać SELECT FROM WHERE , jednak warunek where jest zależny od tego co jest wpisane w JTextArea i nie potrafię połączyć tych 2-ch rzeczy niestety.
Dopisanie
(...) WHERE kategoria=pole.getText() nie skutkuje, dlatego szukam alternatywnych rozwiązań.

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

o_O żal.pl

Kopiuj
String query = "select * from tabela where atrybut = "+pole.getText();
__krzysiek85
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1019
0
Shalom napisał(a):

o_O żal.pl

Kopiuj
String query = "select * from tabela where atrybut = "+pole.getText();

o_O żal.pl to jest to, co napisałeś (sql injection).

Użyj PreparedStatement z parametrem.
http://docs.oracle.com/javase/6/docs/api/java/sql/.html
http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html

Kopiuj
PreparedStatement ps = con.prepareStatement("select * from tabela where atrybut = ?");
ps.setString(1, pole.getText());
  • Rejestracja: dni
  • Ostatnio: dni
0

Krzysiek85 - dziękuję , właśnie takiej pomocy oczekiwałam.
Shalom : mało kto z mojego gimnazjum wie co to jest JDBC ale za to żal.pl też potrafią używać.Koniec bezproduktywnego zdania na forum dla programistów.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.