gpt4 book ai didi

java - 执行更新耗尽结果

转载 作者:行者123 更新时间:2023-12-02 13:08:29 24 4
gpt4 key购买 nike

当我尝试执行此操作时,出现此错误:

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)

ensemble de résultats épuisés 的意思是我认为英文中的“exhaust results group”

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();
}

有什么想法吗?

最佳答案

错误发生在rset2.getInt(2)处。

您尝试从 rset2 获取第二列,但只选择了一列。

认为您必须切换到 rset2.getInt(1) 但不确定您要做什么。

 stmt.executeUpdate("insert into CONTIENT values("+parQuantité+","+rset.getInt(1)+","+rset2.getInt(1)+"'");

正如我在评论中建议的那样,使用准备好的语句来防止 SQL 注入(inject)

关于java - 执行更新耗尽结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44047703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com