无法把从表单读取的数据插入数据库  但是如果把插入命了加单引号插入测试的数据又是可以的  这是为什么啊代码如下:
<%@ page import="java.sql.*" language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>注册页面</title>
</head>
<body>
<form  name="form1" method="post" action="">
  <p align="center">&#27880;&#20876;&#39029;&#38754;</p>
  <table align="center" width="400" border="0">
    <tr>
      <td width="118"><div align="right">&#29992;&#25143;&#21517;:</div></td>
      <td width="266"><div align="left">
        <label>
        <input name="username" type="text" id="username">
        </label>
      </div></td>
    </tr>
    <tr>
      <td><div align="right">&#23494; &#30721;:</div></td>
      <td><div align="left">
        <label>
        <input name="password" type="text" id="password">
        </label>
      </div></td>
    </tr>
    <tr>
      <td><div align="right">&#23494;&#30721;&#30830;&#35748;:</div></td>
      <td><div align="left">
        <label>
        <input name="repassword" type="text" id="repassword">
        </label>
      </div></td>
    </tr>
    <tr>
      <td><div align="right">&#24615; &#21035;:</div></td>
      <td><div align="left">
        <label>
         <input type="radio" name="RadioGroup1" value="nan">
            男</label>
            <input type="radio" name="RadioGroup1" value="nv">
            女
     </div></td>
    </tr>
    <tr>
      <td><div align="right">&#29233;&#22909;:</div></td>
      <td><div align="left"></div></td>
    </tr>
    <tr>
      <td><div align="right">&#20010;&#20154;&#35828;&#26126;:</div></td>
      <td><div align="left">
        <label>
        <textarea name="shuoming"></textarea>
        </label>
      </div></td>
    </tr>
    <tr>
      <td><div align="right">
        <label>
        <input name="submit" type="submit" id="submit" value="提交">
        </label>
      </div></td>
      <td><div align="left">
        <label>
        <input name="reset" type="reset" id="reset" value="&#37325;&#32622;">
        </label>
      </div></td>
    </tr>
  </table>
</form>
<%
request.setCharacterEncoding("UTF-8");
%><% 
String url = "jdbc:mysql://localhost/jsp_test";
String userName="root";
String password="root";
String sql=null;
Connection conn = null;
Statement stmt=null;
try{
Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException e){
System.out.println("lassNotFoundException");
}
try{
String name= request.getParameter("username");
String psw= request.getParameter("password");
String sex= request.getParameter("RadioGroup1");
String shuoming= request.getParameter("shuoming");
out.println("您输入的用户名是:"+name);
out.println("您输入的性别是:"+sex);
conn=DriverManager.getConnection(url,userName,password);
stmt=conn.createStatement();
sql="INSERT INTO `jsp_test`.`ceshi` (id, user, password) VALUES (16,na11, psw);";
   int affected=stmt.executeUpdate(sql);
   System.out.println("添加操作影响的数据行为"+affected);
   stmt.close();
}catch(SQLException e){
System.out.println("出现SQL异常");
}finally{
try{
if(conn!=null) conn.close();
}catch(SQLException e){
System.out.println("关闭数据库时出现错误");
}
}
%>
</body>
</html>问题好像在这句sql="INSERT INTO `jsp_test`.`ceshi` (id, user, password) VALUES (16,na11, psw);";这样执行的话出现的是出现SQL异常  如果问题好像在这句sql="INSERT INTO `jsp_test`.`ceshi` (id, user, password) VALUES (16,'na11', 'psw');";
加了引号  就能查进去   这个是为什么啊

解决方案 »

  1.   

    sql="INSERT INTO `jsp_test`.`ceshi` (id, user, password) VALUES (16,'na11', 'psw');";'psw' 这是一个字符串值了,如果你数据库里对应的类型是字符串,肯定能插进去,插进去的就是'psw'这个值,但,你这里,psw应该是变量.不应该在psw加引号的.你应该拆分这句:"INSERT INTO 表名(id, user, password) VALUES (" +id+","+name+","+psw+")"
      

  2.   

    `jsp_test`.`ceshi`    lz你这是什么
      

  3.   

    数据库字段类型类型!!!"INSERT INTO 表名(id, user, password) VALUES (" +id+","+name+","+psw+")"
      

  4.   

    你代码数据库没有端口很费解
    你写SQL语言的时候先在数据库里面试下在写到代码里面来
      

  5.   

    上面的不全对吧。
    sql="INSERT INTO `jsp_test`.`ceshi` (id, user, password) VALUES (16,'na11', 'psw')";这句是把16 nall psw这三个值插入到数据库,但是如果你的na11,psw是字符型变量或者说是从前台页面获取的值,那么必须这样写才是。
    sql="INSERT INTO `jsp_test`.`ceshi` (id, user, password) VALUES (16,'"+na11+"', '"+psw+"')";
    只有这样才可以将na11,psw里面的内容插入到数据库。