JAVA与ORACL数据交互报错“无效的索引”
《大神不要笑话我 ,我学这个时间不长●▽●》
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了
其他回答
暂无其它回答!