JAVA与ORACL数据交互报错“无效的索引”

原问题:JAVA与ORACL数据交互报错“无效的索引”
分类:编程开发 > 最后更新时间:【2017-07-31 06:10:05】
问题补充:

《大神不要笑话我 ,我学这个时间不长●▽●》

jsp页面

商品名称:<input name="proname"><br/>

商品生产日期:<input name="prodate"><br/>

产地:<input name="factoryadd"><br/>

商品描述:<input name="descript"><br/>

原价:<input name="oldprice"><br/>

现价:<input name="price"><br/>

商品类型:<input name="protype"><br/>

商品剩余数量:<input name="pronumber"><br/>

特价:<input name="tejia"><br/>

现价:<input name="xiajia"><br/>

商品图片路径:<input name="images"><br/>

购买数量:<input name="buynumber"><br/>

商品颜色:<input name="procolor"><br/>

商品尺寸:<input name="prosize"><br/>

《接受数据(proid是序列)》

request.setCharacterEncoding("utf-8");

response.setCharacterEncoding("utf-8");

Product p = new Product();

String proname = request.getParameter("proname");

String prodate = request.getParameter("prodate");

String factoryadd = request.getParameter("factoryadd");

String descript = request.getParameter("descript");

String oldprice = request.getParameter("oldprice");

String price = request.getParameter("price");

String protype = request.getParameter("protype");

// //int

String pronumber = request.getParameter("pronumber");

// int

String tejia = request.getParameter("tejia");

String xiajia = request.getParameter("xiajia");

String images = request.getParameter("images");

String buynumber = request.getParameter("buynumber");

// int

String procolor = request.getParameter("procolor");

String prosize = request.getParameter("prosize");

System.out.println(proname + prosize + procolor + buynumber + images

+ xiajia + tejia + pronumber + protype + price + oldprice

+ descript + factoryadd + prodate);

p.setProname(proname);

p.setProdate(prodate);

p.setFactoryadd(factoryadd);

p.setDescript(descript);

p.setOldprice(new Integer(oldprice));

p.setPrice(new Integer(price));

p.setProtype(new Integer(protype));

p.setPronumber(new Integer(pronumber));

p.setTejia(new Integer(tejia));

p.setXiajia(new Integer(xiajia));

p.setImages(images);

p.setBuynumber(new Integer(buynumber));

p.setProcolor(procolor);

p.setProsize(prosize);

ProductDAO dao = new ProductDAO();

try {

dao.save(p);

response.sendRedirect("ProductShow");

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

《调用save(),》

public int save(Product p) throws Exception{

String sql=" insert into product values (proid.nextval,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ";

Object []params={p.getProid(),p.getProname(),p.getProdate(),

p.getFactoryadd(),p.getDescript(),

p.getOldprice(),p.getPrice(),p.getProtype(),

p.getPronumber(),p.getTejia(),p.getXiajia(),

p.getImages(),p.getBuynumber(),p.getProcolor(),

p.getProsize()};

System.out.println(sql);

DBManager db=new DBManager();

return db.executeUpdate(sql, params);

}

最佳答案

看上云你的String sql=" insert into ..."只有14个参数(?)

而你params却赋了15个值

没有你的数据库结构,只能凭感觉判断下

你的p.getProid(),应该是多余的,因为已有proid.nextval了

最佳答案由网友  whoami1978  提供
公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
12

分享到:

其他回答

暂无其它回答!

    推荐