<%@ page contentType="text/html;charset=gb2312"%>
<%@page import="IAToolkit.*"%>
<%@page import="java.sql.*"%>
<%@page import="java.io.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<jsp:useBean id="dbt" class="IAToolkit.DBTools" scope="page"/>
<body>
<%
  ResultSet rs=null;
  String SQL=null;
  try{
  String name=request.getParameter("name");
  String psw=request.getParameter("psw");
  String right_id=request.getParameter("rank");
  dbt.dbserverConnect();
  SQL="updata INFOAIR_USERINFO set USERPSW='"+psw+"',"+"RIGHT_ID='"+right_id+"'where USERNAME='"+name+"'";
  rs=dbt.executeQuery(SQL);
  dbt.dbserverDisConnect();
}catch(Exception e){e.printStackTrace();}
%>
<center><h1>修改成功</h1>
<a href="index.jsp">返回</a>
</center>
</body>
</html>

解决方案 »

  1.   

    rs=dbt.executeQuery(SQL);这一句话,应该是executeUpdate(SQL),因为它是更新动作,不是查询,还有看下你的IAToolkit.DBTools   bean,贴出来
      

  2.   

    executeQuery只是select是用。
    更删插要用executeUpdate
      

  3.   

    SQL="updata INFOAIR_USERINFO set USERPSW=\'"+psw+"\',"+"RIGHT_ID=\'"+right_id+"\'where USERNAME=\'"+name+"\'";再加上以上建议,估计每问题了 
      

  4.   

    public boolean dbserverConnect() {
        try {
          url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=fids";
          String driver1 = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
          Class.forName(driver1);
          user="sa";
          psw="ats";
          connection = DriverManager.getConnection(url,user,psw);
          statemt = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                                               ResultSet.CONCUR_READ_ONLY);
        }
        catch (Exception e) {
          System.out.println("serverConnectERR:" + e.toString());
          return false;
        }
        return true;
      } public boolean dbserverDisConnect() {
        try {
          if (statemt != null) {
            statemt.close();
            statemt = null;
          }
          if (prepstmt != null) {
            prepstmt.close();
            prepstmt = null;
          }
          connection.close();
        }
        catch (SQLException e) {
          System.out.println(e.toString());
          return false;
        }
        return true;
      } public ResultSet executeQuery(String sql) {
        ResultSet r;
        try {
          r = statemt.executeQuery(sql);
        }
        catch (Exception e) {
          System.out.println("executeQueryERR:" + e.toString());
          err = true;
          return null;
        }
        err = false;
        return r;
      }
      

  5.   

    你可以在写sql语句的地方加一个断点测试一下,并将该语句放到数据库中执行,看是否正确。另外sql语句应改为:
    SQL="update INFOAIR_USERINFO set USERPSW='"+psw+"',RIGHT_ID='"+right_id+"' where USERNAME='"+name+"'";
      

  6.   

    boolean m=false;
           String name = new String(request.getParameter("name").getBytes("ISO8859_1"));
           String psw = new String(request.getParameter("psw").getBytes("ISO8859_1"));
           String right_id = new String(request.getParameter("rank").getBytes("ISO8859_1"));
           dbt.dbserverConnect();
           String user = "updata INFOAIR_USERINFO set USERPSW='" + psw +"',RIGHT_ID='" + right_id + "'where USERNAME='" + name +"'";
           m = dbt.modify(user);
           dbt.dbserverDisConnect();
          if(m==true) 
              {//
                out.println("<script language=\"javascript\">");
                out.println("window.close();");
                out.println("</script>");
              }
          else response.sendRedirect("modify.jsp");改成这样了,还是不行啊!m返回的总是false.
      

  7.   

    SQL="updata INFOAIR_USERINFO set USERPSW='"+psw+"',"+"RIGHT_ID='"+right_id+"'where USERNAME='"+name+"'";
    请问修改语句是updata吗?改成update