易截截图软件、单文件、免安装、纯绿色、仅160KB

java中用preparedstatement向mysql日期字段插入问题

String sql = "insert into pause_number(userId,beginDate,endDate,remark) values(?,?,?,?)";
pstmt = DB.prepareStmt(conn, sql);
pstmt.setInt(1, pauseNumber.getUserId());
pstmt.setDate(2, java.sql.Date.valueOf(pauseNumber.getBeginDate()));
pstmt.setDate(3, java.sql.Date.valueOf(pauseNumber.getEndDate()));
pstmt.setString(4, pauseNumber.getRemark());
pstmt.execute();

当pauseNumber.getBeginDate()值为""时java.sql.Date.valueOf(pauseNumber.getBeginDate())会抛出异常
为了解决""问题我写代码判断pauseNumber.getBeginDate()为空串时设置beginDate值为"0000-00-00"
当执行java.sql.Date.valueOf(pauseNumber.getEndDate())转换时0000-00-00变成了0002-11-30

请问怎么解决?
直接set成string就行,不需要转成data类型。

我的字段是Date型的。

一样,没有影响,只要能保证字符串是标准格式的就行,类似这样的就行
"2009-01-10"

如果日期格式正确是没问题啊,但如果用户没有选择日期时就是空串了会出错啊。

我希望的是用户不选择日期时,日期字段为默认的0000-00-00值


引用
引用我希望的是用户不选择日期时,日期字段为默认的0000-00-00值

这个没办法,你必须在你的程序进行判断把空串变成 '0000-00-00'


正确。

yangxiao_jiang 说的对,直接用setString,字符串格式正确就可以了。

引用
yangxiao_jiang 说的对,直接


相关问答:

怎么用Java实现定时执行某程序 - Java / Java SE

我想用Java写一个程序,就是我想在运行代码后,在指定的时间打开某程序,例如我运行代码后,讲在12:00打开"D:\Program Files\Tencent\QQ2009\Bin\QQ.exe"这个程序,求高人指点。还有可能的话在指定的时间 ......

希望好心人帮帮我,有关手机qq2009的java版

我希望在编辑文字后把发送键改到屏幕中间,具体说就是
在kb.class中的部分作出修改


部分代码:
V = new TextBox(ld.a(383), "", 190, 0);
        X = new Comma ......

关于jsp 引入后页面跳转的问题 - Java / Java EE

问题是这样的:
   
我有一个文件nagiv.jsp 另一个文件failure.jsp包含他,同时nagiv文件中有一个可以跳转到yy.jsp的commandButton,但是我将failure中点击nagiv中的哪个commandButton,也面不会跳转 ......

让java程序在执行过程中暂停n秒钟. - Java / Web 开发

我需要在一个for循环里面每循环一次后,暂停n秒钟,再执行下一次循环.我不想用Thread.sleep(n);这个方法,请问还有其他的方法可以实现这个简单要求吗?有简单代码更好,谢谢!
期待好的方法!

我知道的也就是这个了
......

eclipse连接mysql数据库 - Java / Eclipse

先上错误
无法联接数据库
java.sql.SQLException: Before start of result set
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
at com.mysql.jdbc.ResultSet.checkRowPos(ResultSet.java: ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号