ここでは、ログインしたクライアントの製品のみを表示したいのですが、クライアントc = new Client()を使用し、WHERE句で「+ c.getId;」を使用すると問題が発生します作業。クライアントIDを取得できません
public ArrayList<Produit> getProduits(){
ArrayList<Produit> v = new ArrayList<Produit>();
Connecter conn= new Connecter();
try{
String sql = "select * from produit where id_client_fk="+(i want the
id of the client already logged in) ;
PreparedStatement ps = conn.con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while(rs.next()){
Produit produit = new Produit();
produit.setCode(rs.getInt("code"));
produit.setDescription(rs.getString("description"));
produit.setPrix(rs.getFloat("prix"));
v.add(produit);
}
}catch(Exception asd){
System.out.println(asd.getMessage());
}
return v;
}
彼がログインしたときに、私はクライアントIDを設定します。
try {
PreparedStatement st = conn.con.prepareStatement("select * from
client where email=? and password=?");
st.setString(1, login);
st.setString(2, password);
rs = st.executeQuery();
if (rs.next())
{
c.setId(rs.getInt("id"));
c.setNom(rs.getString("nom"));
c.setPrenom(rs.getString("prenom"));
c.setAdresse(rs.getString("adresse"));
c.setEmail(rs.getString("email"));
return true;
}
else
return false;
} catch (SQLException e) {
e.printStackTrace();
return false;
}
あなたが投稿したコードは、あなたの問題を理解するのに十分ではありません。クラスをそのまま、または少なくとも関連する部分に投稿すると役に立ちます。 – ujulu