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> 展开
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> 展开
展开全部
看样子你是在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+"')";
//sql拼接的确有问题,应改为(少了' ):
String sql="insert into emp(usname,salary,email,EmployedDates,departmemt) values('"+usn+"', '"+sal+"','"+email+"','"+date+"','"+departmemt+"')";
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询