こんにちは、MySQL クエリを作成するこのマネージド Bean があります。ここでの問題は、SQL ステートメントが「LIKE」ではなく「=」条件を作成することです。
これが私のマネージドBeanのコードです。
Connection con = ds.getConnection();
try{
if (con == null) {
throw new SQLException("Can't get database connection");
}
}
finally {
PreparedStatement ps = con.prepareStatement(
"SELECT * FROM Clients WHERE Machine LIKE '53'");
//get customer data from database
ResultSet result = ps.executeQuery();
con.close();
List list;
list = new ArrayList();
while (result.next()) {
Customer cust = new Customer();
cust.setMachine(result.getLong("Machine"));
cust.setCompany(result.getString("Company"));
cust.setContact(result.getString("Contact"));
cust.setPhone(result.getLong("Phone"));
cust.setEmail(result.getString("Email"));
//store all data into a List
list.add(cust);
}
return list;
ここで、SELECT コマンドは 53 のような 'Machine' 列のすべての数値を取得するわけではありませんが、53 の代わりに完全な数値 (53544) などの整数値を入力すると、結果が取得されます。私は混乱しています !!
また、上記のselectステートメントをSELECT * FROM Clients
データベース全体に置き換えると、リストに保存されます。何か案は ?