<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*"  info="java.lang.Exception" errorPage="" %>
<!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=gb2312">
<title>无标题文档</title>
</head><body>
<%
String usename=request.getParameter("name");
String passwd=request.getParameter("passwd");
String qq=request.getParameter("qq");
String sex=request.getParameter("sex");
String tel=request.getParameter("tel");
String age=request.getParameter("age");
String beizhu=request.getParameter("beizhu");
try{
Class.forName("com.mysql.jdbc.Driver");}catch(ClassNotFoundException ex){
out.print(ex);
}
try{Connection con=DriverManager.getConnection("jdbc:mysql://localhost/shuju","root","root");Statement st=con.createStatement();
Statement st1=con.createStatement();ResultSet rs=st.executeQuery("select * from user");
String name=rs.getString("name");
System.out.println("姓名"+ name);
if(!usename.equals("name"))
{
st1.executeUpdate("insert into  user(beizu,name,passwd,age,sex,tel,qq)values('"+beizhu+"','"+usename+"','"+passwd+"','"+age+"','"+sex+"','"+tel+"','"+qq+"')");
rs.close();
st.close();
st1.close();
}}catch(SQLException e){
 out.println("dedd"+e);
}%>
</body>
</html>这个为什么会出错呢??
  错误 提示 是 :  java.sql.SQLException

解决方案 »

  1.   

    insert into  user(beizu,name,passwd,age,sex,tel,qq   是beizu还是beizhu?
      

  2.   

    java.sql.SQLException 后边的具体信息呢?这个异常都是来自你的sql语句写得有问题啊,qq)values ,你看看这里是不是在括号后边应该有一个空格呢~
      

  3.   

     不是 的 ,SQL语句我验证了,没有问题的 ,我把他弄成这样:
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    </head><body>
    <%
    String usename=request.getParameter("name");
    String passwd=request.getParameter("passwd");
    String qq=request.getParameter("qq");
    String sex=request.getParameter("sex");
    String tel=request.getParameter("tel");
    String age=request.getParameter("age");
    String beizhu=request.getParameter("beizhu");
    try{
    Class.forName("com.mysql.jdbc.Driver");}catch(ClassNotFoundException ex){
    out.print(ex);
    }
    try{Connection con=DriverManager.getConnection("jdbc:mysql://localhost/shuju","root","root");//Statement st=con.createStatement();
    Statement st1=con.createStatement();//ResultSet rs=st.executeQuery("select * from user");
    //String name=rs.getString("name");
    //System.out.println("姓名"+ name);
    //if(!usename.equals("name"))
    {
    st1.executeUpdate("insert into  user(beizu,name,passwd,age,sex,tel,qq)values('"+beizhu+"','"+usename+"','"+passwd+"','"+age+"','"+sex+"','"+tel+"','"+qq+"')");
    //rs.close();
    st1.close();
    st1.close();
    }}catch(SQLException e){
     out.println("dedd"+e);
    }%>
    </body>
    </html> 数据能 写进数据库中 
      
      

  4.   

    这些关闭操作放在finally里来做。
      

  5.   

    一些关闭的操作,最好是都放到 finally里面去
        那应该查询这里有问题
                         String name=rs.getString("name"); 
      

  6.   

    String name=rs.getString("name"); 
    我记得这句通常是写成String name=rs.getString(1);
    而且 select语句最好 不要用* ,别怕麻烦把你需要的列的名称写上,这样可以根据顺序使用getString(index)这样的方式 来读取resultset中的 数据