• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

JAVA JDBC - Result Set wyswietlanie wielu wierszy

Object Storage Arubacloud
0 głosów
244 wizyt
pytanie zadane 4 października 2018 w Java przez konser Nowicjusz (140 p.)

Czesc, poddaje sie,  mam problemy z Result set.
Na podstawie nazwiska wprowadzonego z klawiatury program ma robic prostego selecta select * from users where lastname=?  i wyciagac wiersze, wazne jest to ze moze byc ich wiecej niz jeden. O ile z szukaniem unikatowego po ID sobie poradzilem to tu sprawy mi sie kompikuja. Bardzo prosze o sugestie jak to ugryzc.
PS   Mam tez problem z  wyswietleniem wszystkich rekordow. Na dole Gist.

//wyswietl klienta/ow po nazwisku
public List<User> getUserLastName(String lastname) {
		List<User> users = new ArrayList<User>();
		try {
			PreparedStatement preparedStatement = connection.prepareStatement("select * from users where lastname=?");
			preparedStatement.setString(1, lastname);
			ResultSet rs = preparedStatement.executeQuery();

			while (rs.next()) {
				User user = new User();
				user.setUserid(rs.getInt("userid"));
				user.setFirstName(rs.getString("firstname"));
				user.setLastName(rs.getString("lastname"));
				user.setDob(rs.getDate("dob"));
				user.setEmail(rs.getString("email"));
				users.add(user);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}

		return users;
	}
//wszyscy klienci w bazie
//Error:(88, 58) java: incompatible types: java.lang.Object cannot be converted to com.skipass.model.User

for (User iter : dao2.getAllUsers()) {
    System.out.println(iter);
}

https://gist.github.com/connoisseur0/c4ec349cfedb47cfc44e5a0b10409c93

komentarz 4 października 2018 przez mbabane Szeryf (79,280 p.)

Ale w sumie z czym konkretniej jest problem i w jaki sposób się on objawia.

Inną rzeczą jest też to, że wystarczy, że DAO utworzysz raz przed całym switchem tzn:

UserDao dao = new UserDao();

swich(swValue) {
case 1:
  //inne instrukcje
 dao.getAllUsers();
   //...
   //....
  break;
case 2:
   dao.getUserById();
   //..

   break;

}

 

2 odpowiedzi

0 głosów
odpowiedź 4 października 2018 przez mibdbz Gaduła (4,300 p.)
Nie wiem czy dokładnie o to Ci chodzi, ale może przy wypisywaniu użyj po prostu nadpisanej wcześniej metody toString() zamiast wypisywać listy w pętli. Niedawno też to przerabialem i pomogło.
–2 głosów
odpowiedź 4 października 2018 przez KubenQPL Maniak (62,820 p.)

Stringi porównujesz "LIKE" a nie "=".

Więc ostatecznie tak to powinno wyglądać

select * from users where lastname LIKE ?

 

komentarz 4 października 2018 przez mbabane Szeryf (79,280 p.)
edycja 4 października 2018 przez mbabane

LIKE zdaje się służy do wyszukiwania wzorca w kolumnach i działa dużo wolniej niż '='. Wielokrotnie stosowałem:

SELECT * FROM Users WHERE lastname='Kowalski';

Podobne pytania

0 głosów
2 odpowiedzi 163 wizyt
pytanie zadane 20 września 2018 w Java przez konser Nowicjusz (140 p.)
0 głosów
1 odpowiedź 108 wizyt
pytanie zadane 8 maja 2020 w Java przez warior1 Użytkownik (520 p.)
0 głosów
0 odpowiedzi 141 wizyt
pytanie zadane 18 lipca 2020 w Java przez mibdbz Gaduła (4,300 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...