各位高手们帮我看看,为什么加不到数据库呢?调试的没有错误,但是就是加不进数据?????谢谢啦!!!<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="GB2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>test</title>
    <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head><body>
<%
    String aa=request.getParameter("aa");
   
    
String bb=request.getParameter("bb");    
String cc=request.getParameter("cc");

    String dd=request.getParameter("dd");
    
    
String ff=request.getParameter("ff");
Connection Con=null;
Statement Smt=null;try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLserverDriver");
}
catch(ClassNotFoundException e)
{
System.out.println(e.getMessage());
}try
{
Con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=lab","sa","");
Smt= Con.createStatement();
String SQL="INSERT INTO result values("+aa+","+bb+","+cc+","+dd+","+ff+")";
Smt.executeUpdate(SQL);
Con.close();
}

catch(SQLException event)
{
System.out.println(event.getMessage());
}%>
</body>
</html>

解决方案 »

  1.   

    String SQL="INSERT INTO result values("+aa+","+bb+","+cc+","+dd+","+ff+")"; 
    改为
    String SQL="INSERT INTO result values('"+aa+"','"+bb+"','"+cc+"','"+dd+"','"+ff+"')"; 
      

  2.   

    我原来就是用的
     String SQL="INSERT INTO result values('"+aa+"','"+bb+"','"+cc+"','"+dd+"','"+ff+"')"; 
    但是还是插入不到数据库!
      

  3.   

    你先看看是不是有句法错误:syntax error。在你向数据库中插入数据的时候,如果出错了,会有一个页面提示的吧。看看是不是句法错。若是,就可能是楼上所说的了。建议你重新发布一下网页,并且在浏览器中清空一下历史记录,然后再试试。
      

  4.   

    要看你数据库的字段类型,char类型的要加'',int型的不用加.
      

  5.   

    String SQL="INSERT INTO result values('"+aa+"','"+bb+"','"+cc+"','"+dd+"','"+ff+"')"; 
    应该是这样的,你注意其中的单引号和双引号。你写的那样肯定不对
    还有另外说一句不推荐用你这样的方式来数据交互.......
      

  6.   

    <%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="GB2312"%> 
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
    <title>test </title>  
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 
    <meta http-equiv="description" content="This is my page"> 
    </head> <body> 
    <% 
        String aa=request.getParameter("aa"); 
      
        
    String bb=request.getParameter("bb");     
    String cc=request.getParameter("cc");     String dd=request.getParameter("dd"); 
        
        
    String ff=request.getParameter("ff"); 
    Connection Con; 
    Statement Smt; try 

    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 

    catch(ClassNotFoundException e) 

    System.out.println(e.getMessage()); 
    } try 

    Con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=lab","sa",""); 
    Smt= Con.createStatement(); 
    String SQL="INSERT INTO result values("'+aa+bb+cc+dd+ff+'")"; 
    Smt.executeUpdate(SQL); 
    Con.close(); 
    } catch(SQLException event) 

    System.out.println(event.getMessage()); 
    } %> </body> 
    </html> 
      

  7.   

    首先,这句是不对的:
    <%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="GB2312"%> 
    换成下面这句试试:
    <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
    然后,你的
    String SQL="INSERT INTO result values("+aa+","+bb+","+cc+","+dd+","+ff+")"; 
    改成:
    String SQL="INSERT INTO result values('"+aa+"','"+bb+"','"+cc+"','"+dd+"','"+ff+"')"; 
    注意要跟你数据库中表的结构一样。最好是这样:
    String SQL="INSERT INTO result (aa,bb,cc,dd,ff) values('"+aa+"','"+bb+"','"+cc+"','"+dd+"','"+ff+"')"; 
    其中,那几个是列名
    然后,你在jsp中直接写
    System.out.println(event.getMessage());
    是不对的,可以写out.println();
      

  8.   

    你的表中有自增的字段吗?自增的不需要插入数据,还有查查数据表中的字段值类型是否匹配等,你在表后面把字段都指定了再试试~
    类似:insert into table(c1,c2...) values('c1','c2',....)
      

  9.   

    create table语句扔出来。
    要不把Statement改成PreparedStatement,然后用set方式来设置你的变量
      

  10.   

    把异常信息发出来吧...
    String SQL="INSERT INTO result(把字段名写上试试) values('"+aa+"','"+bb+"','"+cc+"','"+dd+"','"+ff+"')";看楼上的一些都全角字符似的......
      

  11.   

    你在 smt.ex....
    之前  System.out.println(""INSERT INTO result values("+aa+","+bb+","+cc+","+dd+","+ff+")"; ")把 你的sql语句打印下 
    看能出来不 
    要是能出来的话
    把生成的语句,直接到sql的命令行中执行下,看看有问题没有
      

  12.   

    要小心符号的问题啊,半角和全角输入都是不一样的。。
    还是直接在SQL的查询分析器上操作一下试试能不能插入,先确定是不是数据库或者语句有问题吧~
    注意数据类型,估计也就是单引号的问题!
      

  13.   

    System.out.println(SQL);
    试试看后台显示什么吧
      

  14.   

    把String SQL="INSERT INTO result values("+aa+","+bb+","+cc+","+dd+","+ff+")"; 
    改成:String SQL="INSERT INTO result values('+aa+','+bb+','+cc+','+dd+','+ff+')"; 里面应该用单引号。