2009-12-27 7 views
12

Sonuç sayfamdaki Listem'e dönüştürmek istiyorum. ve tüm değerleri görüntülemek istiyorum. Ben PreparedStatement kullanarak o idam ve Resultset varSonuç Kritere git

SELECT userId, userName 
    FROM user; 

: Bu benim sorgusu olur. Ama nasıl bir List olarak dönüştürmek ve bunun gibi bir sonuç görüntülemek istedikleri:

Her sütun değerini çıkarmak için, sıranın tarafından bir döngü, üst üste ResultSet nesnenin üzerine yinelemek gerekiyor
userID userName 
------------------ 
1001 user-X 
1006 user-Y 
1007 user-Z 
+0

JSP'de ResultSet'in bir örneği var mı (ör., Komut dosyası etiketleri içinde oluşturulmuş) veya bu bir sunucuda oluşturuluyor ve JSP'ye aktarılıyor mu? – Rob

cevap

27

:

List ll = new LinkedList(); 
ResultSet rs = stmt.executeQuery("SELECT userid, username FROM USER"); 

// Fetch each row from the result set 
while (rs.next()) { 
    int i = rs.getInt("userid"); 
    String str = rs.getString("username"); 

    //Assuming you have a user object 
    User user = new User(i, str); 

    ll.add(user); 
} 
+0

yalnızca düzeltilebilecek bir şey ifadeyi hazır ifadeye (OP olarak) değiştirmektir (OP olarak) – Bozho

+2

Doğru, ancak gerçekten önemli değil çünkü soru sadece ResultSet nesnesinden veri alma ile ilgili. –

+0

Bu konudaki cevabınız ve tartışmalarınız için teşekkür ederiz. Anladım. Bu sonuçları Listede ekledim ve yineleyin. –

5

hep Commons DbUtils ve MapListHandler kullanabilirsiniz. doc Gönderen: Maps

bir Listesine bir ResultSet dönüştüren

ResultSetHandler uygulaması böylece senin elinde Demirbaş kodu bir sürü alacağım.

5

ResultSet hiçbir zaman bir JSP'ye ulaşmamalıdır. Bir veri yapısına veya nesnesine eşlenmeli ve oluşturulduğu yöntem kapsamı içinde kapatılmalıdır. Bir veritabanı imleci, kıt kaynak. Böyle bir tasarıma devam ederseniz uygulamanız yakında bitecek.