<%@page contentType="text/html;charset=gbk"%>
<%@page import="java.sql.*"%>
<%@page import="java.util.*,java.io.*,java.text.*"%>
<%!
public static final String DBDRIVER = "oracle.jdbc.driver.OracleDriver"; public static final String DBURL = "jdbc:oracle:thin:@localhost:1521:sales"; public static final String DBUSER = "scott"; public static final String DBPASS = "tiger";
%><%
Connection conn = null;//数据库连接
PreparedStatement pstmt = null;//数据库操作
ResultSet rs = null;//查询结果集
%><%
Class.forName(DBDRIVER);//加载数据库
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
String empno = request.getParameter("empno");
String ename = request.getParameter("ename");
String mgr = request.getParameter("mgr");
String job = request.getParameter("job");
String hiredate = request.getParameter("hiredate");
String sal = request.getParameter("sal");
String comm = request.getParameter("comm");
String deptno = request.getParameter("deptno"); String sql = "insert into emp values("+ Integer.parseInt(empno)+",'"+ename+"',"+Integer.parseInt(mgr)+",'"+job+"',"+to_date(hiredate,'yyyy-mm-dd')+","+Float.parseFloat(sal) +","+Float.parseFloat(comm)+","+Integer.parseInt(deptno) +")";
pstmt = conn.prepareStatement(sql);//将预编译的sql语句存储在pstmt对象中
int i= pstmt.executeUpdate();
sql = "select * from emp";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();%>
<center>
<h1>添加后后的雇员表</h1>
<table border="1" width="80%">
<tr>
<td>雇员编号</td>
<td>雇员姓名</td>
<td>上级编号</td>
<td>工作</td>
<td>雇用日期</td>
<td>工资</td>
<td>奖金</td>
<td>部门号</td>
</tr>
<%
while(rs.next()) {
int empno1 = rs.getInt(1);
String ename1 = rs.getString(2);
String job1 = rs.getString(3);
int mgr1 = rs.getInt(4);
java.util.Date hiredate1 = rs.getDate(5);
float sa1l = rs.getFloat(6);
float comm1 = rs.getFloat(7);
int deptno1 = rs.getInt(8);
%>
<tr>
<td><%=empno1%></td>
<td><%=ename1%></td>
<td><%=job1%></td>
<td><%=mgr1%></td>
<td><%=hiredate1%></td>
<td><%=sa1l%></td>
<td><%=comm1%></td>
<td><%=deptno1%></td>
</tr>
<%
}
%>
<%
rs.close();
pstmt.close();
conn.close();
%>
</table>
</center>
出错信息
org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 33 in the jsp file: /project/add.jsp
Invalid character constant
30: String comm = request.getParameter("comm");
31: String deptno = request.getParameter("deptno");
32:
33: String sql = "insert into emp values("+ Integer.parseInt(empno)+",'"+ename+"',"+Integer.parseInt(mgr)+",'"+job+"',"+to_date(hiredate,'yyyy-mm-dd')+","+Float.parseFloat(sal) +","+Float.parseFloat(comm)+","+Integer.parseInt(deptno) +")";
34: pstmt = conn.prepareStatement(sql);//将预编译的sql语句存储在pstmt对象中
35: int i= pstmt.executeUpdate();
36: sql = "select * from emp";
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:331)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:457)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.26 logs.JSPOracle数据库
<%@page import="java.sql.*"%>
<%@page import="java.util.*,java.io.*,java.text.*"%>
<%!
public static final String DBDRIVER = "oracle.jdbc.driver.OracleDriver"; public static final String DBURL = "jdbc:oracle:thin:@localhost:1521:sales"; public static final String DBUSER = "scott"; public static final String DBPASS = "tiger";
%><%
Connection conn = null;//数据库连接
PreparedStatement pstmt = null;//数据库操作
ResultSet rs = null;//查询结果集
%><%
Class.forName(DBDRIVER);//加载数据库
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
String empno = request.getParameter("empno");
String ename = request.getParameter("ename");
String mgr = request.getParameter("mgr");
String job = request.getParameter("job");
String hiredate = request.getParameter("hiredate");
String sal = request.getParameter("sal");
String comm = request.getParameter("comm");
String deptno = request.getParameter("deptno"); String sql = "insert into emp values("+ Integer.parseInt(empno)+",'"+ename+"',"+Integer.parseInt(mgr)+",'"+job+"',"+to_date(hiredate,'yyyy-mm-dd')+","+Float.parseFloat(sal) +","+Float.parseFloat(comm)+","+Integer.parseInt(deptno) +")";
pstmt = conn.prepareStatement(sql);//将预编译的sql语句存储在pstmt对象中
int i= pstmt.executeUpdate();
sql = "select * from emp";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();%>
<center>
<h1>添加后后的雇员表</h1>
<table border="1" width="80%">
<tr>
<td>雇员编号</td>
<td>雇员姓名</td>
<td>上级编号</td>
<td>工作</td>
<td>雇用日期</td>
<td>工资</td>
<td>奖金</td>
<td>部门号</td>
</tr>
<%
while(rs.next()) {
int empno1 = rs.getInt(1);
String ename1 = rs.getString(2);
String job1 = rs.getString(3);
int mgr1 = rs.getInt(4);
java.util.Date hiredate1 = rs.getDate(5);
float sa1l = rs.getFloat(6);
float comm1 = rs.getFloat(7);
int deptno1 = rs.getInt(8);
%>
<tr>
<td><%=empno1%></td>
<td><%=ename1%></td>
<td><%=job1%></td>
<td><%=mgr1%></td>
<td><%=hiredate1%></td>
<td><%=sa1l%></td>
<td><%=comm1%></td>
<td><%=deptno1%></td>
</tr>
<%
}
%>
<%
rs.close();
pstmt.close();
conn.close();
%>
</table>
</center>
出错信息
org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 33 in the jsp file: /project/add.jsp
Invalid character constant
30: String comm = request.getParameter("comm");
31: String deptno = request.getParameter("deptno");
32:
33: String sql = "insert into emp values("+ Integer.parseInt(empno)+",'"+ename+"',"+Integer.parseInt(mgr)+",'"+job+"',"+to_date(hiredate,'yyyy-mm-dd')+","+Float.parseFloat(sal) +","+Float.parseFloat(comm)+","+Integer.parseInt(deptno) +")";
34: pstmt = conn.prepareStatement(sql);//将预编译的sql语句存储在pstmt对象中
35: int i= pstmt.executeUpdate();
36: sql = "select * from emp";
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:331)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:457)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.26 logs.JSPOracle数据库
String sql = "insert into emp values("+ Integer.parseInt(empno)+",'"+ename+"',"+Integer.parseInt(mgr)+",'"+job+"',"+to_date(hiredate,'yyyy-mm-dd')+","+Float.parseFloat(sal) +","+Float.parseFloat(comm)+","+Integer.parseInt(deptno) +")";
改成下面试试String sql = "insert into emp values("+ Integer.parseInt(empno)+",'"+ename+"',"+Integer.parseInt(mgr)+",'"+job+"',to_date('"
+hiredate+"','yyyy-mm-dd'),"+Float.parseFloat(sal) +","+Float.parseFloat(comm)+","+Integer.parseInt(deptno) +")";
org.apache.jasper.JasperException: An exception occurred processing JSP page /project/add.jsp at line 3633: String sql = "insert into emp values("+ Integer.parseInt(empno)+",'"+ename+"',"+Integer.parseInt(mgr)+",'"+job+"',to_date('"+hiredate+"','yyyy-mm-dd'),"+Float.parseFloat(sal) +","+Float.parseFloat(comm)+","+Integer.parseInt(deptno) +")";
34:
35: pstmt = conn.prepareStatement(sql);//将预编译的sql语句存储在pstmt对象中
36: int i= pstmt.executeUpdate();
37: sql = "select * from emp";
38: pstmt = conn.prepareStatement(sql);
39: rs = pstmt.executeQuery();
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root causejavax.servlet.ServletException: java.sql.SQLException: ORA-01722: 无效数字 org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:911)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:840)
org.apache.jsp.project.add_jsp._jspService(add_jsp.java:181)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root causejava.sql.SQLException: ORA-01722: 无效数字 oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:330)
oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:287)
oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:742)
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:212)
oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:951)
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1159)
oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3284)
oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3367)
org.apache.jsp.project.add_jsp._jspService(add_jsp.java:103)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.26 logs.[/code]