实际问题是,我要在添加奖惩信息的时候,只有它奖惩时间,而不一定有撤消时间,
这时会报错。
该如何解决这个问题啊?
数据库:orracle,谢谢了。
代码如下:
<body>
<% //解决提交时的中文乱码问题
request.setCharacterEncoding("gb2312");
%>
<%
int em_serialNumber = Integer.parseInt(request.getParameter("em_serialNumber"));
String em_name = request.getParameter("em_name");
String jc_rewardpunish = request.getParameter("jc_rewardpunish");
String jc_rewardcontent = request.getParameter("jc_rewardcontent");
String jc_reason = request.getParameter("jc_reason");
String jc_branch = request.getParameter("jc_branch");
String jc_handlename = request.getParameter("jc_handlename");
java.util.Date jc_startdate = new SimpleDateFormat("yyyy-mm-dd").parse (request.getParameter("jc_startdate"));
//这个时间提交过来有的时候是空的
boolean flag =true;
if(request.getParameter("jc_canceldate")==null||"".equals(request.getParameter("jc_canceldate"))){
flag=false;
}else{
java.sql.Date date = new java.sql.Date(new SimpleDateFormat("yyyy-mm-dd").parse(request.getParameter("jc_canceldate")).getTime()); String jc_cancelreason = request.getParameter("jc_cancelreason");
String jc_re = request.getParameter("jc_re");
%>
<center>
<h1>雇员表信息</h1>
<hr>
<%
String DBDRIVER="oracle.jdbc.driver.OracleDriver";
String DBURL="jdbc:oracle:thin:@localhost:1521:test";
String DBUSER="scott";
String DBPASS="test";
%>
<%
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
%>
<%
//这是SQL语句但是如果时间是空的时候就报错
String sql="insert into jc (em_serialNumber,em_name,jc_rewardpunish,jc_rewardcontent,jc_reason,jc_branch,jc_handlename,jc_startdate,jc_canceldate,jc_cancelreason,jc_re,jc_ID) values (?,?,?,?,?,?,?,?,?,?,?,jcseq.nextVal)";
try{
Class.forName(DBDRIVER);
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS);
ps=conn.prepareStatement(sql);
ps.setInt(1,em_serialNumber);
ps.setString(2,em_name);
ps.setString(3,jc_rewardpunish);
ps.setString(4,jc_rewardcontent);
ps.setString(5,jc_reason);
ps.setString(6,jc_branch);
ps.setString(7,jc_handlename);
ps.setDate(8,new java.sql.Date(jc_startdate.getTime())); if(flag){
ps.setDate(9,date);//时间转换
}else{
ps.setDate(9,null);
} ps.setString(10,jc_cancelreason);
ps.setString(11,jc_re);
ps.executeUpdate();
这时会报错。
该如何解决这个问题啊?
数据库:orracle,谢谢了。
代码如下:
<body>
<% //解决提交时的中文乱码问题
request.setCharacterEncoding("gb2312");
%>
<%
int em_serialNumber = Integer.parseInt(request.getParameter("em_serialNumber"));
String em_name = request.getParameter("em_name");
String jc_rewardpunish = request.getParameter("jc_rewardpunish");
String jc_rewardcontent = request.getParameter("jc_rewardcontent");
String jc_reason = request.getParameter("jc_reason");
String jc_branch = request.getParameter("jc_branch");
String jc_handlename = request.getParameter("jc_handlename");
java.util.Date jc_startdate = new SimpleDateFormat("yyyy-mm-dd").parse (request.getParameter("jc_startdate"));
//这个时间提交过来有的时候是空的
boolean flag =true;
if(request.getParameter("jc_canceldate")==null||"".equals(request.getParameter("jc_canceldate"))){
flag=false;
}else{
java.sql.Date date = new java.sql.Date(new SimpleDateFormat("yyyy-mm-dd").parse(request.getParameter("jc_canceldate")).getTime()); String jc_cancelreason = request.getParameter("jc_cancelreason");
String jc_re = request.getParameter("jc_re");
%>
<center>
<h1>雇员表信息</h1>
<hr>
<%
String DBDRIVER="oracle.jdbc.driver.OracleDriver";
String DBURL="jdbc:oracle:thin:@localhost:1521:test";
String DBUSER="scott";
String DBPASS="test";
%>
<%
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
%>
<%
//这是SQL语句但是如果时间是空的时候就报错
String sql="insert into jc (em_serialNumber,em_name,jc_rewardpunish,jc_rewardcontent,jc_reason,jc_branch,jc_handlename,jc_startdate,jc_canceldate,jc_cancelreason,jc_re,jc_ID) values (?,?,?,?,?,?,?,?,?,?,?,jcseq.nextVal)";
try{
Class.forName(DBDRIVER);
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS);
ps=conn.prepareStatement(sql);
ps.setInt(1,em_serialNumber);
ps.setString(2,em_name);
ps.setString(3,jc_rewardpunish);
ps.setString(4,jc_rewardcontent);
ps.setString(5,jc_reason);
ps.setString(6,jc_branch);
ps.setString(7,jc_handlename);
ps.setDate(8,new java.sql.Date(jc_startdate.getTime())); if(flag){
ps.setDate(9,date);//时间转换
}else{
ps.setDate(9,null);
} ps.setString(10,jc_cancelreason);
ps.setString(11,jc_re);
ps.executeUpdate();
解决方案 »
- 请教大神们
- 大家好:开源系统“jacob_liang系统平台统一用户2.0”发布了
- JBPM3整合JPA,求解决方案。
- 单纯的JSP网站怎么样实现分布式处理
- 跪求解决JSP/servlet写验证码问题,大侠们看看是什么问题,我弄了N久换了N多代码都是提示一个错误
- jsp页面编码问题
- 弹出窗口到底是如何定义的?为什么……
- ·······###求助!sqlserver用jsp连接不上。有网业示例,请指教???
- Tomcat启动出错,信息如下
- 看一看,瞧一瞧!servlet.xml怎么改才能访问我的JAVABEANS?
- 在线等待,急切 JQuery中使用JSON解决跨域出现的问题
- java做修改登录密码
ps.setDate(8,null);
}
else{
……
}
数据库是这样写的没有错,但是问题出在插人当中,插入cancelDate没有值,数据库插不了,就算我做出判断只要是null就不行
flag=false;
}
改成
if(null==request.getParameter("jc_canceldate")||"".equals(request.getParameter("jc_canceldate"))){
flag=false;
}
试试看,不知道可以不?