<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ page import="java.sql.*"%><%
try{
out.println("yyyyyyyyyyyyy");
Class.forName("org.gjt.mm.mysql.Driver");
out.println("asasasasasa");
String url="jdbc:mysql://localhost:3306/yao?user=root&password=194910";
Connection conn=DriverManager.getConnection(url);
out.println("dddddddddddddd");
Statement stmt=conn.createStatement();
request.setCharacterEncoding("gb2312");
String userID=request.getParameter("userID");
String realName=request.getParameter("realName");
String sex=request.getParameter("sex");
String grade=request.getParameter("grade");
out.println("222222222222222222222");
String sql="select * from users where id='"+userID+"'"; 
out.println("33333333333333333");
ResultSet rs=stmt.executeQuery(sql);
out.println("wwwwwwwwwwwwwwwwwwww");
if(rs.next()){
out.println("qqqqqqqqqqqqqqqqqqqqqq");
out.println("用户名已经存在,请还回!");
}
else{
out.println("aaaaaaaaaaaaaaaa");
sql="insert into users values('"+userID+"','"+realName+"','"+sex+"','"+grade+"')";
out.println("rrrrrrrrrrrrrrrrrr");
if(stmt.executeUpdate(sql)>0)
out.println("数据添加成功!");
}
stmt.close();
conn.close();
}catch(Exception e){
 out.println("有错误发生了!");
}
%>
<html>
<body>
<p>点击<a href="add.jsp">这里</a>继续添加数据</p>
<p>点击<a href="manage.jsp">这里</a>还回管理页面</p>
</body>
</html>
不知道怎么回事,到ResultSet rs=stmt.executeQuery(sql);这条语句的时候就没有执行了,就直接执行catch(Exception e){
 out.println("有错误发生了!");
}这个了,请你们帮看下,谢谢了,给个解决方案

解决方案 »

  1.   

    不出意外 我觉得应该是空指针.通过request对象取的几个参数估计都没取到value
      

  2.   

    为什么要先得到值?
    String   sql= "select * from 表名";
    ResultSet   rs=stmt.executeQuery(sql);
    while(rs.next()) {
            userID: <%=rs.getString(1)%> 
    realName: <%=rs.getString(2)%>  
    sex: <%=rs.getString(3)%>  
    grade: <%=rs.getString(4)%>  
    }