<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK"%>
<%@ page import="java.sql.*"%>    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>Insert title here</title>
</head>
<body><%
try{
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/test?user=root&password=admin";
Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
request.setCharacterEncoding("gbk");
String id = request.getParameter("id");
String name = request.getParameter("name");
String sex = request.getParameter("sex");
String grade = request.getParameter("grade");//String id = new String(request.getParameter("id").getBytes("ISO8859-1"),"GBK");
//String name = new String(request.getParameter("name").getBytes("ISO8859-1"),"GBK");
//String sex = new String(request.getParameter("sex").getBytes("ISO8859-1"),"GBK");
//String grade = new String(request.getParameter("grade").getBytes("ISO8859-1"),"GBK");String sql = "update user set id = '"+id+"',name='"+name+"',sex='"+sex+"',grade="+grade+" where id='"+id+"'";if(stmt.execute(sql))
out.println("数据修改成功!");
else out.println("数据类型错误或未知错误!"); stmt.close();
conn.close();
}catch(SQLException e){
out.println("丫的又错了……");
} %>
<strong><font face="微软雅黑"><br><a href="manager.jsp">点击此处返回管理页面!</a></font>
</strong>
</body>
</html>

解决方案 »

  1.   

    if(stmt.execute(sql))
    out.println("数据修改成功!");
    else out.println("数据类型错误或未知错误!"); 
    由上面那段代码应该是sql语句出了问题,楼主最好控制台打印出sql语句放进数据库检查下
      

  2.   

    String id = request.getParameter("id");
    String name = request.getParameter("name");
    String sex = request.getParameter("sex");
    String grade = request.getParameter("grade"); 
    或者是数据库字段和这里的不一致
      

  3.   

    字段一致的~~~~~~~~没问题每一个都try过了~~~没错啊~~~~~~~~~~求救
      

  4.   

    应该是sql语句的问题,把变量换成具体的值在数据库里测试下,看能修改么
      

  5.   

    你按照1楼说的做下...
    或者dedug下...
    把那条插入的sql复制到数据库中
    执行这条sql看有问题不?
      

  6.   

    out.print(sql) ,把sql语句放到mysql里执行一次, 另外查一下是否存在该id的记录
      

  7.   

    update user name='"+name+"',sex='"+sex+"',grade="+grade+" where id='"+id+"'修改时不需要修改id一列
      

  8.   

    肯定是SQL错误,sql打印出来,然后用数据库工具中测试
      

  9.   

    是不是这里啊
    String sql = "update user set id = '"+id+"',name='"+name+"',sex='"+sex+"',grade='"+grade+"' where id='"+id+"'";