声明

2017-07-06 5 views
-1

私は、MySQLのクエリを実行するために、このMavenの依存関係を使用していますWHEREでMySQLのクエリを使用しながら、JDBCは、データ行を引くことはできません。声明

<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

あなたは 'Statement'の代わりに' PreparedStatement'を使うのがよいでしょう。 –

+2

テーブルには実際に 'username'という名前のユーザーがいますか? –

+0

@mustafacilありがとう、私はそれを試してみましょう。 –

答えて

1

まず、あなたが条件に書いている、その文字列は、あなたが

声明= con.prepareStatementを使用することができ、大文字と小文字を区別

であることを確認してみてください(「userNameの= ユーザーからSELECT *? "); statement.setString(1、userName);