各位高手们帮我看看,为什么加不到数据库呢?调试的没有错误,但是就是加不进数据?????谢谢啦!!!<%@ 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>
<!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>
改为
String SQL="INSERT INTO result values('"+aa+"','"+bb+"','"+cc+"','"+dd+"','"+ff+"')";
String SQL="INSERT INTO result values('"+aa+"','"+bb+"','"+cc+"','"+dd+"','"+ff+"')";
但是还是插入不到数据库!
应该是这样的,你注意其中的单引号和双引号。你写的那样肯定不对
还有另外说一句不推荐用你这样的方式来数据交互.......
<!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>
<%@ 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();
类似:insert into table(c1,c2...) values('c1','c2',....)
要不把Statement改成PreparedStatement,然后用set方式来设置你的变量
String SQL="INSERT INTO result(把字段名写上试试) values('"+aa+"','"+bb+"','"+cc+"','"+dd+"','"+ff+"')";看楼上的一些都全角字符似的......
之前 System.out.println(""INSERT INTO result values("+aa+","+bb+","+cc+","+dd+","+ff+")"; ")把 你的sql语句打印下
看能出来不
要是能出来的话
把生成的语句,直接到sql的命令行中执行下,看看有问题没有
还是直接在SQL的查询分析器上操作一下试试能不能插入,先确定是不是数据库或者语句有问题吧~
注意数据类型,估计也就是单引号的问题!
试试看后台显示什么吧
改成:String SQL="INSERT INTO result values('+aa+','+bb+','+cc+','+dd+','+ff+')"; 里面应该用单引号。