java连接mysql 给数据库插值,插不进去值,不知道哪错误了?

<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><%@p... <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<!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>Insert title here</title>
</head>
<body>
<h1>接受信息并写入mysql数据库</h1>
<%!
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
%>

<%
/**
jdbc连接数据库的三部曲
request 读到的都是字符串 数据库中的是int
values除了整形和浮点型之外,都得加引号
sql中 先写好空位,然后打断,加加 ('', ,'','','',)   ('"++"', "+ +" ,'"+ +"','"+ +"','"+ +"',)
*/
request.setCharacterEncoding("utf-8");
String usn=request.getParameter("usn");
String salary=request.getParameter("salary");
int sal=Integer.parseInt(salary);
String email=request.getParameter("email");
String date=request.getParameter("date");
String departmemt=request.getParameter("departmemt");

try{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb1","root","root");
String sql="insert into emp(usname,salary,email,EmployedDates,departmemt) values('"+usn+"', "+sal+",'"+email+"','"+date+"','"+departmemt+"')";
stmt=conn.createStatement();
int res=stmt.executeUpdate(sql);
if(res>0){
%>
<script type="text/javascript">
alert("职工信息添加成功!");
</script>
<%
}
else{
%>
<script type="text/javascript">
alert("职工信息添加失败!");
</script>
<%
}
}
catch(Exception e){
e.printStackTrace();
}
finally{
//这里关闭资源
if(stmt!=null){
stmt.close();
}
if(conn!=null){
conn.close();
}
}
%>
</body>
</html>
展开
 我来答
Visy12345e53b26b
2014-12-06 · TA获得超过301个赞
知道小有建树答主
回答量:292
采纳率:16%
帮助的人:70.9万
展开全部
看样子你是在jsp里面直接往数据库存数据,insert不成功的原因有很多,你又没有给console的报错信息,首先你看看你的sql语句格式写对没,然后感觉stmt.executeUpdate(sql);有问题,返回的res有什么意义?一般用stmt.execute(sql);返回值是boolean型,为true则插入数据成功;还有看看数据库驱动导入没,最好把console的报错信息给出来

//sql拼接的确有问题,应改为(少了' ):
String sql="insert into emp(usname,salary,email,EmployedDates,departmemt) values('"+usn+"', '"+sal+"','"+email+"','"+date+"','"+departmemt+"')";
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wudixiaochen00
2014-12-06 · TA获得超过2095个赞
知道小有建树答主
回答量:751
采纳率:100%
帮助的人:398万
展开全部
你把拼接完成的sql,打印出来看下,看值huoqu是否正确,拼接是否正确,把这句sql复制出来,单独去数据库执行,看是否报错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式