Java 如何验证多个已准备语句查询执行的结果集

Java 如何验证多个已准备语句查询执行的结果集,java,prepared-statement,javabeans,resultset,Java,Prepared Statement,Javabeans,Resultset,我创建了一个方法saveTransaction(ArrayList sessionList),它将sessionList中保存的ItemBean参数保存到TRN_CART表中: 我编写了以下代码片段将bean数据插入表中: ResultSet rs=null; String sql="INSERT INTO TRN_CART VALUES (?,?,?,?)"; PreparedStatement ps=useCon.prepareStatement(sql);

我创建了一个方法saveTransaction(ArrayList sessionList),它将sessionList中保存的ItemBean参数保存到TRN_CART表中: 我编写了以下代码片段将bean数据插入表中:

     ResultSet rs=null;
     String sql="INSERT INTO TRN_CART VALUES (?,?,?,?)"; 
     PreparedStatement ps=useCon.prepareStatement(sql);
     for(ItemBean beanObj: sessionList){
        ps.setString(1, beanObj.getItemId());
        ps.setString(2, beanObj.getItemName());
        ps.setInt(3, beanObj.getItemPrice());
        ps.setInt(4, beanObj.getItemQuantity());
        rs=ps.executeQuery();
        if(rs==null){           // If any query row execution fails
           returnFlag=false;    // I want to load error page thus setting flag as false
           }
我不确定是否以正确的方式验证结果集。 请给我一个更好的方法来完成这项任务。 另外,如果所有行插入成功,我想将return flag设置为true。
建议我修改。

结果集用于选择查询,但您正在插入。使用
executeUpdate()
插入、删除或更新(DDL命令)


另外,
excuteUpdate()
返回整数,因此如果您想检查数据是否插入到数据库中,那么请执行
if(ps.executeUpdate()>0)

I使用if(ps.executeQuery()!=null){returnFlag=false;}这似乎仍然不是正确的方法。给我建议解决方案please@RupeshAgrahari您没有任何选择问题,那么为什么使用if(ps.executeQuery(sql))的结果TSO我可以完成任务吗???@rupshagrahari否possible@RupeshAgrahari正如JqueryLearner指出的,您应该使用
executeUpdate()
并检查返回的
int
值,以检查是否插入了任何行。为什么坚持使用
executeQuery()
?插入
不会返回
结果集。