如下采用的是jsp+Access在线考试系统,源代码作用是从提交的表格当中添加学生和删除学生的源代码:
此段程序也调试过了,没有任何的语法错误。但就是出现了2个奇怪的问题:一是填写好表单提交资料后,必须按两下提交按纽才会有显示出来(正常的是按下提交之后,就马上会显示出来)二是删除功能根本就实现不了(但是从源代码来看完全可以实现这个功能的,)以上就是这段源代码的基本情况,此题出自一个大学的WEB技术竞赛当中,各位高手不妨显露一下身手,讲讲这段代码到底有什么错误:是语法错误还是逻辑错误?并且写也其具体的过程和原因?
<%@ page language="java" contentType="text/html; charset=GB2312"%>
<%@ page import="java.sql.*"%>
<jsp:useBean id="wu1" class="duo.exam" scope="session"/>
<html>
<head>
<title>添加学生</title>
</head>
<body>
<p align=center>添加学生进入档案</p>
<%
try{
String S_id=""; //学生的考号
String S_password="" //学生登陆系统的密码
String S_name="" //学生名字
String Sex="" //学生的姓别
String Majoy=""//学生的专业
String Grade=""//学生属于哪个年级
int id=0// 主键自动递增序号
if(request.getParameter("id")!=null) id=Integer.parseInt(request.getParameter("id"));
if(request.getParameter("S_id")!=null) S_id=request.getParameter("S_id");
if(request.getParameter("S_password")!=null) S_password=request.getParameter("S_password");
if(request.getParameter("S_name")!=null) S_name=new String(request.getParameter("S_name").trim( ).getBytes("8859_1"));
if(request.getParameter("Sex")!=null) Sex=request.getParameter("Sex");
if(request.getParameter("Majoy")!=null) Majoy=new String(request.getParameter("Majoy").trim( ).getBytes("8859_1"));
if(request.getParameter("Grade")!=null) Grade=new String(request.getParameter("Grade").trim( ).getBytes("8859_1"));
if(S_id.compareTo(" ")!=0)
{
String sql0="insert into student(S_id,S_password,S_name,Sex,Majoy,Grade)values('"+S_id+"','"+S_password+"','"+S_name+"','"+Sex+"','"+Majoy+"','"+Grade+"')";
ResultSet rs0=wu1.executeQuery(sql0);
}//此用来增加学生
if(id!=0)
{
String sql1="delete from student where id=2";
ResultSet rs1=wu1.executeQuery(sql1);
}//此用来删除学生
%>
//以下是提交表单
<form action="addstudent.jsp" method="post">
<table width="80%" border=1 bordercolor="#ff00ff" cellspacing=1 align="center">
<tr><td>学号</td><td><input type="text" name="S_id"></td>
<tr><td>密码</td><td><input type="text" name="S_password"></td>
<tr><td>姓名</td><td><input type="text" name="S_name"></td>
<tr><td>性别</td><td><select name="Sex" size=1>
<option value="man">男</option>
<option value="wom">女</option></select></td>
<tr><td>专业</td><td><input type="text" name="Majoy"></td>
<tr><td>年级</td><td><input type="text" name="Grade"></td>
<tr><td colspan=2 align=center><input type="submit" value="确定提交"></td>
</table>
<table width="80%" border=1 bordercolor="#ff00ff" cellspacing=1 align="center">
<tr><th>学号</th><th>密码</th><th>姓名</th><th>性别</th><th>专业</th><th>年级</th><th>操作</th>
<%
//以下是显示从数据库当中查找的内容:
String sql2="select * from student";
ResultSet rs2=wu1.executeQuery(sql2);
while(rs2.next())
{String s0=rs2.getString("S_id");
String s1=rs2.getString("S_password");
String s2=rs2.getString("S_name");
String s3=rs2.getString("Sex");
String s4=rs2.getString("Majoy");
String s5=rs2.getString("Grade");
int s6=rs2.getInt("id");
%>
<tr><td><%=s0%></td><td><%=s1%></td><td><%=s2%></td><td><%=s3%></td>
<td><%=s4%></td><td><%=s5%></td><td><a href="addstudent.jsp?&id=<%=s6%>">删除</a></td>
<%}
rs2.close();}
catch(Exception e)
{System.out.println("error"+e.getMessage());}
%>
</table>
</form>
<body>
</html>