jsp插入Mysql数据库的全是NUll,而且我的数据库中字段不允许为空(驱动啊,数据库连接啊,都是对的)。求高手指点哈,我都挣扎好几天啦
javabean:
package company;
import java.sql.*;
public class jiaofeijilu {
public String comid;
public String renshu;
public String jishu;
public String feilv;
public String paysum;
public String shenbaodate;
public String jingbanren;
public String getComid() {
return comid;
}
public void setComid(String comid) {
this.comid = comid;
}
public String getRenshu() {
return renshu;
}
public void setRenshu(String renshu) {
this.renshu = renshu;
}
public String getJishu() {
return jishu;
}
public void setJishu(String jishu) {
this.jishu = jishu;
}
public String getFeilv() {
return feilv;
}
public void setFeilv(String feilv) {
this.feilv = feilv;
}
public String getPaysum() {
return paysum;
}
public void setPaysum(String paysum) {
this.paysum = paysum;
}
public String getShenbaodate() {
return shenbaodate;
}
public void setShenbaodate(String shenbaodate) {
this.shenbaodate = shenbaodate;
}
public String getJingbanren() {
return jingbanren;
}
public void setJingbanren(String jingbanren) {
this.jingbanren = jingbanren;
}
public Connection conn;
public Statement smt;
public ResultSet rs;
public String sql2="insert into compayrecord(comid,renshu,jishu,feilv,paysum,shenbaodate,jingbanren) values ('"+comid+"','"+renshu+"','"+jishu+"','"+feilv+"','"+paysum+"','"+shenbaodate+"','"+jingbanren+"')";
//public String sql1="select * from compayrecord where comid='"+comid+"'";
public void add(){
try{Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException e){
System.out .print(""+e);
}
try{
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/system","root","123");
smt=conn.createStatement();
//rs=smt.executeQuery(sql1);
/*if(!rs.next()){*/
smt.executeUpdate(sql2);
//}
}
catch(Exception ee){
ee.printStackTrace();
}
}
}
jsp页面:jiaofeishenbao.jsp
<form action="shenbaosuccess.jsp" method="post" name="myform">
<table width="80%" height="493" border="1" align="center" cellspacing="0" bordercolor="#89AB00">
<tr>
<td height="79" colspan="5"><div align="center" class="STYLE14">缴费申报表</div></td>
</tr>
<tr>
<td width="16%" height="45">单位ID:<br></td>
<td colspan="4"><input type="text" name="comid" id="textfield4"></td>
</tr>
<tr>
<td height="46">缴费人数:</td>
<td colspan="4"><label>
<input type="text" name="renshu" id="textfield">
(<span class="STYLE17">人数必须和参保登记的人数一致</span>)</label></td>
</tr>
<tr>
<td height="48">缴费基数:</td>
<td colspan="4"><label>
<input type="text" name="jishu" id="textfield2">
(<span class="STYLE16"><span class="STYLE17">以基本养老保险基数为缴费基数</span>)</span></label></td>
</tr>
<tr>
<td height="47">费率:</td>
<td colspan="4"> <label>
<input type="text" name="feilv" id="feilv" size="10">
(<span class="STYLE17">根据参保时的经济类型而定,不能输入</span>)</label></td>
</tr>
<tr>
<td height="47">应缴费额:</td>
<td colspan="4"><input type="text" name="paysum" id="textfield3"></td>
</tr>
<tr>
<td height="47">申报日期:</td>
<td colspan="4"><label>
<input type="text" name="shenbaodate" id="textfield6">
</label></td>
</tr>
<tr>
<td height="56">经办人:</td>
<td colspan="4"><input type="text" name="jingbanren" id="textfield5"></td>
</tr>
<tr>
<td height="56" colspan="5"><table width="100%" height="61" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><label>
<input type="submit" name="button" id="button" value="提 交">
</label></td>
<td><label>
<input type="reset" name="button2" id="button2" value="重 置">
</label></td>
<td><label>
<input type="button" name="button3" id="button3" value="打 印">
</label></td>
<td><label>
<input type="button" name="button4" id="button4" value="取 消" onClick="quxiao()">
</label></td>
</tr>
</table>
<label></label></td>
</tr>
</table>
</form>
<!-- InstanceEndEditable --> </td>
</tr>
<tr>
<td colspan="2" bgcolor="#A31928"><div align="center">
<p class="STYLE4">版权所有:08信本毕业设计小组</p>
<p class="STYLE4">联系电话:2217477</p>
</div></td>
</tr>
</table>
<script type="text/javascript">
function quxiao(){
location="danweimain.jsp";
}
</script>
</body>
<!-- InstanceEnd --></html>
shenbaosuccess.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.sql.*"%>
<%request.setCharacterEncoding("utf-8"); %>
<jsp:useBean id="shenbao" scope="page" class="company.jiaofeijilu">
<jsp:setProperty name="shenbao" property="*"/>
</jsp:useBean>
<!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>
<%
request.setCharacterEncoding("utf-8");
shenbao.add();
%>
<script type="text/javascript">
alert("缴费申报成功,请耐心等待审核");
location="danweimain.jsp";
</script>
</body>
</html>
[解决办法]
你把要插入数据库的记录打印到后台看看是什么?数据库不允许Null的话插入空的记录会报错的吧?
[解决办法]
你插入的是"NULL"的字符串啊,应该是jsp没有获取到form提交的内容,具体原因自己查一下,好久没搞这个了
[解决办法]
先把
<script type="text/javascript">
alert("缴费申报成功,请耐心等待审核");
location="danweimain.jsp";
</script>
去掉,然后把smt.executeUpdate(sql2);的返回值打印出来看看。
返回值是影响的行数,如果等于0的话,说明没有执行成功。
[解决办法]
LZ 接值没有问题,你在检查一下 生成的Sql 语句,在控制台打印输出,看看sql 语句对不对,
再一个就是查询你的 add() 方法。我没有mysql 数据库,就不帮你测试了!