当我尝试这样做时,我有这个错误:
Exception in thread "main" java.sql.SQLException: Ensemble de résultats épuisé
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:207)
at oracle.jdbc.driver.OracleResultSetImpl.getInt(OracleResultSetImpl.java:511)
at e_commerce.SQL.methodeAjoutProduit(SQL.java:42)
at e_commerce.FenetreMere.main(FenetreMere.java:27)
ensemblederésultatsépuisés意思是排气结果组我用英语思考
public static void methodeAjoutProduit(Connexion parConnexion,int parQuantité,String parNomProduit,String parIdClient) throws SQLException{
Connexion connexion = parConnexion;
Statement stmt = connexion.getConnexion().createStatement();
ResultSet rset = stmt.executeQuery("select ID_PRODUIT FROM PRODUIT where NOM_PRODUIT='"+parNomProduit+"'");
ResultSet rset2 = stmt.executeQuery("select ID_PANIER FROM PANIER,CLIENT where CLIENT.ID_CLIENT=PANIER.ID_CLIENT AND CLIENT.IDENTIFIANT='"+parIdClient+"'");
rset.next();
rset2.next();
System.out.println(rset2.getInt(1));
stmt.executeUpdate("insert into CONTIENT values("+parQuantité+","+rset.getInt(1)+","+rset2.getInt(2)+"'");
stmt.close();
}
有什么想法吗?
答案 0 :(得分:1)
此处出现错误rset2.getInt(2)
。
您尝试从rset2获取第二列,但只选择一列。
认为你必须切换到rset2.getInt(1)
但不确定你想要做什么。
stmt.executeUpdate("insert into CONTIENT values("+parQuantité+","+rset.getInt(1)+","+rset2.getInt(1)+"'");
正如我在评论中建议的那样,使用准备好的语句来防止SQL注入