如何解决输入数据库的DATA型与FLOAT型为空的问题
我用的是TOMCAT 服务器+mysql数据库。我准备在数据库里插入一个日期和一个float型的值。但是通过request的取值都是字符型的。因为数据库里的字段是data型与float型。因此我在插入程序必须把request的取值由string型转变为data型和float。
对于string 转data型,我用的代码如下:
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
java.util.Date sign_date1=format.parse(request.getParameter("sign_date"));
java.sql.Date sign_date=new java.sql.Date(sign_date1.getTime());
上诉代码没问题。
对于string 转 float型,我用的代码如下:
float price = Float.valueOf(request.getParameter("price"));
现在的问题是:
当request.getParameter取值是空值的时候,程序总是抛出
空指针的异常。导致插入数据库失败。
我现在想在插入之前做一个判断,如果取值非空的时候执行string 转data 和string 转float。
如果取值为空的时候。我想data型和float的变量赋值为null。并和其他的string 字段一起插入到mysql数据库中。
我在网上找了很多的资料,但是总是无法通过编译插入成功。希望各位大虾能帮我看下这段代码怎么写比较好。
------解决方案--------------------用的是PreparedStatement么?
可以用 Float 来代替 float,因为Float可以表示null
另一种就是用:ps.setNull(int parameterIndex, int sqlType);
------解决方案--------------------
哎我就奇怪了,为啥不这么用?
Java code
String sPrice = request.getParameter("price");
float price = 0f;
try{
price = Float.parseFloat(sPrice);
}catch(...){...}