本帖最后由 niuge798588567 于 2010-04-17 19:51:44 编辑

解决方案 »

  1.   

    sql2="insert into Student(StudentID,StudentName) values('"+id+"','"+name+"')";
    不要反斜杠。
      

  2.   

    咦,可是可以啦,可是还有一个问题,就是本来我数据库中有一个学号为01的,按我的代码,若我添加个学号为01的人,应该会转到 error.jsp这个页面的,可是为什么还是成功添加了呢?修改后代码是这样的:<%@ page language="java" contentType="text/html; charset=gb2312"import="java.sql.*"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>更新</title>
    </head>
    <body>
    <%!
    String url,sql,id,name,sql2;
    Connection connection;
    Statement statement;
    ResultSet resultset;
    %>
    <%
    try{
    String id=request.getParameter("id").trim();
    String name=request.getParameter("name").trim();
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=StudentAchievementRecord";
    connection=DriverManager.getConnection(url,"sa","sa");
    statement=connection.createStatement();
    sql="select * from Student where StudentID='"+id+"'";
    resultset=statement.executeQuery(sql);
    if(resultset.getRow()>0){
    response.sendRedirect("error.jsp");
    }
    sql2="insert into Student(StudentID,StudentName) values('"+id+"','"+name+"')";
    out.println(id + name );
    statement.executeUpdate(sql2);resultset.close();
    statement.close();
    connection.close();
    out.println("正在处理,请稍后");
    Thread.sleep(2000);
    response.sendRedirect("index.jsp");}catch(Exception e){
    out.println(e);
    }
    %>
    </body>
    </html>
      

  3.   

    我的意思是说:下面的这段代码为什么不起作用???
    sql="select * from Student where StudentID='"+id+"'";
    resultset=statement.executeQuery(sql);
    if(resultset.getRow()>0){
    response.sendRedirect("error.jsp");
    }