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

时间:2013-12-03 10:43:15

标签: 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);
     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标志设置为 true。 建议我修改。

1 个答案:

答案 0 :(得分:3)

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

此外excuteUpdate()返回整数,因此如果要检查数据是否已插入数据库,请执行if(ps.executeUpdate()>0)