[color=red]首先有两个页面insert.jsp和insert-success.jsp, 在insert.jsp里面连接数据库dbs,把表stu中的数据输出,然后添加一条记录,添加之后,跳转到insert_success.jsp 输出添加之后的stu里的所有记录。[/color]
[u][color=green]表结构如下:[/color][/u]
[img]http://dl.iteye.com/upload/attachment/298878/abc47b80-1a07-3f4a-8f57-678f0f13059d.jpg[/img]
[u][color=green]insert.jsp源码[/color][/u][code="java"]<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ page import="java.sql.*"%>
Insert Record Test...
data inserting test........
input StuID | |
input StuName | |
input ChineseScore | |
input MathScore | |
input EngScore |
添加之前的数据记录:
<%
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch (ClassNotFoundException e){}
String ConStr = "jdbc:oracle:thin:@" ;
String ServerName = "localhost";
String url =ConStr+ServerName+":1521:dbs";
String SqlQuery = "SELECT * FROM stu";
Connection con = DriverManager.getConnection(url,"soo","qq");
Statement sql=con.createStatement();
ResultSet rs = sql.executeQuery(SqlQuery);
out.print("
学号"); out.print(" |
姓名"); out.print(" |
语文"); out.print(" |
数学"); out.print(" |
英语"); while (rs.next()) { out.print(" |
---|---|---|---|---|
"+rs.getInt("no")+" | ");"+rs.getString("name")+" | ");"+rs.getInt("chinese")+" | ");"+rs.getInt("math")+" | ");"+rs.getInt("english")+" | ");
rs.close();
sql.close();
con.close();
%>
[/code]
[u][color=green]insert_success.jsp源码[/color][/u][code="java"]<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ page import="java.sql.*" %>
New Records!
<%
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch (ClassNotFoundException e){}
String name = request.getParameter("name");
String no=request.getParameter("no");
String chiscore = request.getParameter("chiscore");
String mathscore = request.getParameter("mathscore");
String engscore = request.getParameter("engscore");
out.print("
StuID"); out.print(" |
StuName"); out.print(" |
ChineseScore"); out.print(" |
MathScore"); out.print(" |
EnglishScore");
String ConStr = "jdbc:oracle:thin:@"; |
---|---|---|---|---|
"+rs.getInt("no")+" | ");"+rs.getString("name")+" | ");"+rs.getInt("chinese")+" | ");"+rs.getInt("math")+" | ");"+rs.getInt("english")+" | ");
rs.close();
con.close();
sql.close();
%>
[/code]
insert.jsp
[img]http://dl.iteye.com/upload/attachment/298880/f80fcc0b-2eb4-3049-b682-4b02a73cf0f3.jpg[/img]
[u][color=green]点击 click to add record之后出现如下错误:[/color][/u]
[code="java"]HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /insert_success.jsp at line 38
35: ResultSet rs = sql.executeQuery(SQLQuery);
36: while(rs.next()){
37: out.print("
38: out.print(""+rs.getInt("no")+"");
39: out.print(""+rs.getString("name")+"");
40: out.print(""+rs.getInt("chinese")+"");
41: out.print(""+rs.getInt("math")+"");
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
javax.servlet.ServletException: java.sql.SQLException: ORA-00900: 无效 SQL 语句
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.insert_005fsuccess_jsp._jspService(insert_005fsuccess_jsp.java:113)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
java.sql.SQLException: ORA-00900: 无效 SQL 语句
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:283)
oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:278)
oracle.jdbc.driver.T4C8Odscrarr.receive(T4C8Odscrarr.java:214)
oracle.jdbc.driver.T4CStatement.doDescribe(T4CStatement.java:723)
oracle.jdbc.driver.OracleStatement.getColumnIndex(OracleStatement.java:3276)
oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:1914)
oracle.jdbc.driver.OracleResultSet.getInt(OracleResultSet.java:1563)
org.apache.jsp.insert_005fsuccess_jsp._jspService(insert_005fsuccess_jsp.java:92)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.29 logs.
Apache Tomcat/6.0.29[/code]
实在不知道哪里错了。。希望路过的大家帮忙看下。