2017-07-06 45 views
-1

我使用這個Maven的依賴執行mysql的查詢:JDBC不能拉的數據行WHERE語句

<dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>6.0.6</version> 
    </dependency> 

這是我的Java代碼:

Class.forName("com.mysql.jdbc.Driver").newInstance(); 
    Connection con = DriverManager.getConnection("jdbc:mysql://...", "root", "xxxxx"); 
    Statement st = con.createStatement(); 
    ResultSet res = st.executeQuery("SELECT * FROM User WHERE userName='username'"); 
    while (res.next()) { 
     String s = res.getString("id"); 
    } 

我可以像簡單的查詢中提取數據:

SELECT * FROM USER; 

如果我想用WHERE語句執行上面的查詢,ResultSet.Next總是false!

請幫忙。 並提前致謝。

+3

你最好使用'PreparedStatement'而不是'Statement'。 –

+2

你的表是否真的有一個叫'username'的用戶? –

+0

@mustafacil謝謝,我會嘗試。 –

回答

1

首先,儘量確保你的條件寫該字符串是區分大小寫的

可以使用

聲明= con.prepareStatement(「SELECT *從用戶其中username = ? 「); statement.setString(1,userName);