2 m756028276 m756028276 于 2014.12.14 18:33 提问

SQLServerException: 没有为参数号 1 设置值。
public List getAllNotice(){
    Connection con=null;
    PreparedStatement stm=null;
    ResultSet rs=null;
    List list=new ArrayList();

    try{
        con=ConnectionManager.getConnection();
        String sql="select * from notice where ntype=?";
        stm=con.prepareStatement(sql);
        rs=stm.executeQuery();
        while(rs.next()){
            int no=rs.getInt("Nno");
            String title=rs.getString("Ntitle");
            Notice notice=new Notice(no);
            notice.setId(no);
            notice.setTitle(title);
            list.add(notice);
        }
    }catch(Exception e){
        e.printStackTrace();
    }finally{
        ConnectionManager.closeResultSet(rs);
        ConnectionManager.closeStatement(stm);
        ConnectionManager.closeConnection(con);
    }
    return list;
}

这个问题出在哪里了?

2个回答

devmiao
devmiao   Ds   Rxr 2014.12.14 18:55
已采纳

String sql="select * from notice where ntype=?";
stm=con.prepareStatement(sql);
stm.setInt(1, 参数); //给ntype一个参数

guwei4037
guwei4037   Ds   Rxr 2014.12.14 19:02
stm=con.prepareStatement(sql);

String type = "xxx";//设置要查询的type的值
stm.setString(1,type);//如果是Int类型则用setInt方法;

rs=stm.executeQuery();
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!