private UUID getClientID(String username) {
try {
String query = "SELECT id FROM `client_table` WHERE username=" + username;
stmt = connection.prepareStatement(query);
ResultSet rs = stmt.getResultSet();
return UUID.fromString(rs.getString(2));
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
桌子:
id用户名密码create_date
id = c235a95d-58e7-4454-90ea-58396a00a3c5用户名= myUsername密码= [BLOB - 16 B] create_date = Fri Apr 28 09:34:49 BST 2017
那为什么它会返回null?我想我做错了ResultSet.
字符串应该在两个之间'username',你已经使用了,PreparedStatement所以改为使用:
String query = "SELECT id FROM `client_table` WHERE username= ?";
stmt = connection.prepareStatement(query);
stmt.setString(1, username);
ResultSet rs = stmt.executeQuery();
if(rs.next()){
return UUID.fromString(rs.getString(1));
}else{
return null;//id not found
}
Run Code Online (Sandbox Code Playgroud)
注意
rs.getString(2)没有第二个字段是错误的rs.next()来获得结果| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |