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

数据存入数据库时出错,请高手指教!该怎么处理

2013-09-11 
数据存入数据库时出错,请高手指教!%try{Class.forName(com.mysql.jdbc.Driver).newInstance()String u

数据存入数据库时出错,请高手指教!
<%
  try
{
  Class.forName("com.mysql.jdbc.Driver").newInstance();
  String url="jdbc:mysql://localhost/charge?user=root&password=123";
  Connection conn =DriverManager.getConnection(url);
  Statement smt=conn.createStatement();


String snumber = new String(request.getParameter("snumber").getBytes("ISO8859_1"),"GBK");
String sname = new String(request.getParameter("sname").getBytes("ISO8859_1"),"GBK");

  String sex = new String(request.getParameter("sex").getBytes("ISO8859_1"),"GBK");
  String grade = new String(request.getParameter("grade").getBytes("ISO8859_1"),"GBK");
  String classname = new String(request.getParameter("classname").getBytes("ISO8859_1"),"GBK");
  String sfsk = new String(request.getParameter("sfsk").getBytes("ISO8859_1"),"GBK");
  String sfxj = new String(request.getParameter("sfxj").getBytes("ISO8859_1"),"GBK");
  String amount = new String(request.getParameter("amount").getBytes("ISO8859_1"),"GBK");
  String sfqf = new String(request.getParameter("sfqf").getBytes("ISO8859_1"),"GBK");
  String qfamount = new String(request.getParameter("qfamount").getBytes("ISO8859_1"),"GBK");
   

String sql="insert into students (Snumber,Sname,sex,grade,classname,sfsk,sfxj,amount,sfqf,qfamount) values (?,?,?,?,?,?,?,?,?,?)";//插入数据
  PreparedStatement prepstmt =conn.prepareStatement(sql);
  prepstmt.setBytes(1,snumber.getBytes("GB2312"));
 prepstmt.setBytes(2,sname.getBytes("GB2312"));
prepstmt.setBytes(3,sex.getBytes("GB2312"));
prepstmt.setBytes(4,grade.getBytes("GB2312"));
prepstmt.setBytes(5,classname.getBytes("GB2312"));
prepstmt.setInt(6,Integer.parseInt(sfsk).byteValue());
prepstmt.setInt(7,Integer.parseInt(sfxj).byteValue());
prepstmt.setFloat(8,Float.parseFloat(amount).byteValue());
prepstmt.setInt(9,Integer.parseInt(sfqf).byteValue());
prepstmt.setFloat(10,Float.parseFloat(qfamount).byteValue());
  prepstmt.executeUpdate();

}


错误信息:[b][/b]
org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 16 in the jsp file: /savestudent.jsp
Generated servlet error:
Cannot invoke byteValue() on the primitive type int

An error occurred at line: 16 in the jsp file: /savestudent.jsp
Generated servlet error:
Cannot invoke byteValue() on the primitive type int

An error occurred at line: 16 in the jsp file: /savestudent.jsp
Generated servlet error:
Cannot invoke byteValue() on the primitive type float

An error occurred at line: 16 in the jsp file: /savestudent.jsp
Generated servlet error:
Cannot invoke byteValue() on the primitive type int

An error occurred at line: 16 in the jsp file: /savestudent.jsp
Generated servlet error:
Cannot invoke byteValue() on the primitive type float


org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause 

org.apache.jasper.JasperException: Unable to compile class for JSP



An error occurred at line: 16 in the jsp file: /savestudent.jsp
Generated servlet error:
Cannot invoke byteValue() on the primitive type int

An error occurred at line: 16 in the jsp file: /savestudent.jsp
Generated servlet error:
Cannot invoke byteValue() on the primitive type int

An error occurred at line: 16 in the jsp file: /savestudent.jsp
Generated servlet error:
Cannot invoke byteValue() on the primitive type float

An error occurred at line: 16 in the jsp file: /savestudent.jsp
Generated servlet error:
Cannot invoke byteValue() on the primitive type int

An error occurred at line: 16 in the jsp file: /savestudent.jsp
Generated servlet error:
Cannot invoke byteValue() on the primitive type float


org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:414)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:297)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

不知道如何修改,请高手指教下,加分!


[解决办法]
savestudent.jsp的第16行有错误,不能对Java原始类型如int,float用byteValue()方法,去掉这些方法的调用再试试。
我的异常网推荐解决方案:org.apache.jasper.JasperException: Unable to compile class,http://www.myexception.cn/j2ee/2308.html

热点排行