2012-06-10 28 views
0

我有一個非常基本的MySQL數據庫。這是我用來創建查詢:Java MySQL如何選擇ResultSet中的行?

SELECT * FROM SC_Users 

我希望能夠尋找一個用戶名,然後找到相應的:

CREATE TABLE SC_Users(
ID int(11) NOT NULL AUTO_INCREMENT, 
PRIMARY KEY (ID), 
Username varchar(255) NOT NULL, 
Class varchar(255) NOT NULL 
) 

我用這個查詢我的數據庫中獲取的ResultSet該用戶名的類別。我如何做到這一點,而不使用不同的查詢?

我知道它可以通過輕鬆地找到它:

SELECT * FROM SC_Users WHERE `Username` = Username 

但我寧願只使用1查詢,如果能找到我想要的用戶的任何值。 在此先感謝您的幫助!

+0

您可以通過在'ResultSet'檢索所有數據實現它,然後在列表''只有在滿足您需要的條件,加上所有的值。 –

+4

爲什麼你想從數據庫中獲取所有的數據,並花費所有的時間在Java迭代呢? –

回答

3

您可以簡單地使用PreparedStatement爲您的目的。

PreparedStatement pst=null; 
    ResultSet rs=null; 
    String userName = "someUser"; 
    String userClass; 
    pst=con.prepareStatement("select * from SC_users where Username=? "); 
    pst.setString(1,userName); 
    rs=pst.executeQuery(); 
     if(rs.next()) 
     { 
      userClass=rs.getString("Class"); 
     } 
+0

謝謝!很棒。 –