ps.setInt(19, Integer.parseInt(check.getGIFTNUM()));
其中check.getGiftNum()有可能拿到的是"",这样就报NumberFormatException,数据库中该字段可以为空,如果前台拿不到值,数据库中该字段可以为空,请问老大们这样如何实现?
其中check.getGiftNum()有可能拿到的是"",这样就报NumberFormatException,数据库中该字段可以为空,如果前台拿不到值,数据库中该字段可以为空,请问老大们这样如何实现?
解决方案 »
- no socket available
- extjs 整合 struts2 submit()方法传递数据的问题
- 数据库反向生成的项目调用findByProerty方法报错
- junit 的jvm问题,请高手赐教!!急
- validator验证框架中<html:errors property=""/> property里面对应着哪??
- win2003+iis6+tomcat5+jk2配置出错
- 用jsp实现csdn这样的目录树只差一步了!
- Jboss+JBuilder配置问题
- ejb客户端jndi出错
- applicationContext.xml有问题 求指教
- 怎样上传文件到其他电脑
- javax.servlet.ServletException: javax/el/ValueExpression的问题
ps.setInt(19, gifnum.matches("\\d+")? Integer.parseInt(gifnum): -1);
之前如何判断?使用的是jdbc的preparestatement,其中setInt(19,...);都是按照sql语句中的顺序来的,如果判断得到的结论拿到的是“”,那么应该如何处理呢?这里set的是Int型的,赋值“”为string肯定不行,如果这条不写会引起jdbc的报错。请教如何处理?
这样改动太大了吧,我的意思是如果传过来的为“”,数据库中就插入“”或者该列不做插入都可以。
用decode,我还不如判断一下,直接赋值0呢。
if(check.getGIFTNUM() == null)
ps.setNull(19, Types.INTEGER);
else
ps.setInt(19, Integer.parseInt(check.getGIFTNUM()));