毕业设计,十万火急(如何实现数据库内容的修改?)
运行环境:JSP+Tomcat+Sql 2000
我做的是学生成绩管理系统,我想实现按输入的学号更新学生的个人信息
student表,字符类型都是char
学号 姓名 性别 所在院系 所在班级
2008 老大 ... ... ...
如何根据输入的学号修改学生信息呢?(例如把“老大”改为“老二”)
我提交更新后的结果是:数据库操作失败!
各路高手帮帮小弟啊!
附:updatestudent.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY bgcolor=cyan text=blue><center>
<Font size=4>
<P>数据库更新前的数据记录是:
<% String name,number,xingbie,yuanxi,banji;
Connection con;
Statement sql;
ResultSet rs;
try{Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}
catch(ClassNotFoundException e){}
try{ con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=hrl","sa","");
sql=con.createStatement(); //向数据库发送SQL语句
rs=sql.executeQuery("SELECT * FROM student"); //处理查询结构
out.print("<Table Border>");
out.print("<TR>");
out.print("<TH width=100>"+"学号");
out.print("<TH width=100>"+"姓名");
out.print("<TH width=50>"+"性别");
out.print("<TH width=50>"+"所在院系");
out.print("<TH width=50>"+"所在班级");
out.print("</TR>");
while(rs.next())
{ out.print("<TR>");
number=rs.getString(1);
out.print("<TD >"+number+"</TD>");
name=rs.getString(2);
out.print("<TD >"+name+"</TD>");
xingbie=rs.getString(3);
out.print("<TD >"+xingbie+"</TD>");
yuanxi=rs.getString(4);
out.print("<TD >"+yuanxi+"</TD>");
banji=rs.getString(5);
out.print("<TD >"+banji+"</TD>");
out.print("</TR>") ;
}
out.print("</Table>");
con.close();
}
catch(SQLException e1) {}
%>
<p>修改学生个人信息:
<FORM action="updateStudentResult.jsp" method=post>
输入要修改同学的学号:
<Input type="text" name="number"><BR>
<BR>输入新的姓名:
<Input type="text" name="name">
<BR>输入新的性别:
<Input type="text" name="xingbie">
<BR>输入新的院系:
<Input type="text" name="yuanxi">
<BR>输入新的班级:
<Input type="text" name="banji">
<BR><Input type="submit" name="b" value="提交更新">
<p>
<a href="student.jsp">返回上一页</a>
</Font>
</center>
</BODY>
</HTML>
updatestudentResult.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY bgcolor=cyan text=blue><Font size=4><center>
<%
String driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url= "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=hrl";
//获取提交的学号:
String number=request.getParameter("number");
if(number==null)
{number="";
}
byte b[]=number.getBytes("ISO-8859-1");
number=new String(b);
//获取提交的姓名:
String name=request.getParameter("name");
if(name==null)
{name="";
}
byte c[]=name.getBytes("ISO-8859-1");
name=new String(c);
//获取提交的性别:
String sex=request.getParameter("sex");
if(sex==null)
{sex="";
}
byte d[]=sex.getBytes("ISO-8859-1");
sex=new String(d);
//获取提交的所在院系:
String dep=request.getParameter("dep");
if(dep==null)
{dep="";
}
byte e[]=dep.getBytes("ISO-8859-1");
dep=new String(e);
//获取提交的班级:
String classes=request.getParameter("classes");
if(classes==null)
{classes="";
}
byte f[]=classes.getBytes("ISO-8859-1");
classes=new String(f);
Connection con=null;
Statement sql=null;
ResultSet rs=null;
//String number,xingming;
String xingbie,yuanxi,banji;
try{Class.forName(driver);
}
catch(ClassNotFoundException e1){}
try
{con=DriverManager.getConnection(url,"sa","");
sql=con.createStatement();
String condition1=
"UPDATE student SET 姓名 = "+c+" WHERE 学号="+"'"+number+"'" ,
condition2=
"UPDATE student SET 性别 = "+d+" WHERE 学号="+"'"+number+"'" ,
condition3=
"UPDATE student SET 所在院系 = "+e+" WHERE 学号="+"'"+number+"'" ,
condition4=
"UPDATE student SET 所在班级 = "+f+" WHERE 学号="+"'"+number+"'" ;
//执行更新操作:
sql.executeUpdate(condition1);
sql.executeUpdate(condition2);
sql.executeUpdate(condition3);
sql.executeUpdate(condition4);
//显示更新后的表中的记录:
%>
<P>更新后的表的记录:
<%
rs=sql.executeQuery("SELECT * FROM student");
out.print("<Table Border>");
out.print("<TR>");
out.print("<TH width=100>"+"学号");
out.print("<TH width=100>"+"姓名");
out.print("<TH width=50>"+"性别");
out.print("<TH width=50>"+"所在院系");
out.print("<TH width=50>"+"所在班级");
out.print("</TR>");
while(rs.next())
{
out.print("<TR>");
String no=rs.getString(1);
out.print("<TD >"+no+"</TD>");
String xingming=rs.getString(2);
out.print("<TD >"+xingming+"</TD>");
xingbie=rs.getString(3);
out.print("<TD >"+xingbie+"</TD>");
yuanxi=rs.getString(4);
out.print("<TD >"+yuanxi+"</TD>");
banji=rs.getString(5);
out.print("<TD >"+banji+"</TD>");
out.print("</TR>") ;
}
out.print("</Table>");
con.close();
}
catch(SQLException e1) //异常处理,数据库操作失败
{e1.printStackTrace();
out.println("<h1>数据库操作失败</h1>");
}
%>
</FONT>
<p>
<a href="updateStudent.jsp">继续修改</a> <a href="student.jsp">返回</a>
</center>
</BODY>
</HTML>