首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

preparedStatement 封装,该如何处理

2012-04-27 
preparedStatement 封装如题publicResultSetPreparedStatement(Stirng sql,PreparedStatement[] preparedS

preparedStatement 封装
如题

public ResultSet PreparedStatement(Stirng sql,PreparedStatement[] preparedStatement)
{
//这里怎么写?


}


preparedStatement 数量不确定,代码怎样写才简洁呢?



[解决办法]
用不確定來應對不確定
for,while等
[解决办法]

Java code
private Connection conn;    private PreparedStatement pstm;    private ResultSet rs;    public boolean update(User u){        boolean result=false;        conn=DBUtil.getConnection();        String sql="update users set uname=?,password=?,score=? where id=?";        try {            pstm=conn.prepareStatement(sql);            pstm.setString(1,u.getUname());            pstm.setString(2,u.getPassword());            pstm.setInt(3,u.getScore());            pstm.setInt(4,u.getId());            if(pstm.executeUpdate()>0){                result=true;            }                            if(pstm!=null)                pstm.close();            if(conn!=null)                DBUtil.close(conn);        } catch (SQLException e) {            e.printStackTrace();        }        return result;    }
[解决办法]
你是不是要模仿.net里面的adapter呀,如果那样的话,这条sql应该代指查询用sql文,这个PreparedStatement应该是4个(增删改查)的集合吧
[解决办法]
可变参数,
public ResultSet PreparedStatement(Stirng sql,Object... params)
{
//to do something
}
参看下面这个例子,每次直接调用就行了
Java code
public static ResultSet executeQuery(Connection conn , String sql , Object... params){        ResultSet res = null ;        try {            PreparedStatement pst = conn.prepareStatement(sql);            for(int i = 0; i<params.length; i++){                pst.setObject(i+1, params[i]);            }            res = pst.executeQuery();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return res;    }
[解决办法]
preparedStatement不是可以获取length么?还是不太清楚你想干嘛。

热点排行