对于插入数据,代码如下,如果我每次都要插入很多语句,那我岂不是要调用下面这个函数很多次,我可以在红色的字那里套一个循环,因为我就是在不断的更新name,email之类的数据。
public boolean preUpdataCustomersTB(int id,String company,String name,String address,String email,String phone,String other)
        ...{
            try
                ...{
                    PreparedStatement pstmt = connection.prepareStatement(
                            "update TB_CUSTOMERS SET company = ?, name = ?, address = ?, email = ?, phone = ?, other = ? WHERE ID = ?;");
                    [color=#FF0000]pstmt.setString(1, company);
                    pstmt.setString(2, name);
                    pstmt.setString(3, address);
                    pstmt.setString(4, email);
                    pstmt.setString(5, phone);
                    pstmt.setString(6, other);
                    pstmt.setInt(7, id);

                    pstmt.execute();[/color]
                    connection.commit();
                    
                } catch (SQLException e)
                ...{
                    // TODO 自动生成 catch 块
                    e.printStackTrace();
                    return false;
                }
            return true;
        }

解决方案 »

  1.   

    PreparedStatement  就是用来重复执行的。你完全可以在那里用循环的。当然,重复调用这个方法也可以,因为那个Statement 已经在数据库里存在,并不会占用过多的资源。但仍然推荐一次性执行多个。另,如果你真的一次性更新多个,建议你用 BatchUpdate ,这个效率更高。
      

  2.   

    PreparedStatement 重复执行相同SQL语句的效率高,循环吧。