毕业设计,十万火急(如何实现数据库内容的修改?)

huangruiling 2008-04-04 10:46:06
运行环境: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>
...全文
105 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangruiling 2008-04-04
  • 打赏
  • 举报
回复
response.println(strSQL); 找不到符号
-狙击手- 2008-04-04
  • 打赏
  • 举报
回复
太长
liangCK 2008-04-04
  • 打赏
  • 举报
回复
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(condition4);


---------------
这样子?..
晕了..
好好看看update语句的用法..

String strSQL="update student set 姓名='"+c+"',性别='"+d+"',所在院系='"+e+"',所在班级='"+f+"' where 学号='"+number+"'";
//在这输出strSQL看看
response.println(strSQL);
sql.executeUpdate(strSQL);


pt1314917 2008-04-04
  • 打赏
  • 举报
回复

--用SQL
declare @学号 varchar(10)
set @学号='2008'
update student set 姓名='老二' where 学号=@学号
Szunzer 2008-04-04
  • 打赏
  • 举报
回复
兄弟啊,今天是休息时间啊
huangruiling 2008-04-04
  • 打赏
  • 举报
回复
唉,刚刚学
逻辑太差了,让你们辛苦了
我会参考你们的意见的
谢谢楼上楼下各位高手

22,294

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧