java插入数据库日期,Java日期 - 插入数据库

I need to figure out a way to insert a record with a java.util.Date field into a database and i'm stuck.

Does anyone know how i can do this?

Right now i have something like.

java.util.Date myDate = new java.util.Date("01/01/2009");

sb.append("INSERT INTO USERS");

sb.append("(USER_ID, FIRST_NAME, LAST_NAME, SEX, DATE) ");

sb.append("VALUES ( ");

sb.append(" '" + userId + "'");

sb.append(", '" + myUser.GetFirstname() + "' ");

sb.append(", '" + myUser.GetLastname() + "' ");

sb.append(", '" + myUser.GetSex() + "' ");

sb.append(", '" + myDate + "'");

sb.append(")");

Util.executeUpdate(sb.toString());

But when i run something like this i get the error:

The syntax of the string representation of a datetime value is incorrect.

Heres what the sql statement looks like:

INSERT INTO USERS (USER_ID

, FIRST_NAME

, LAST_NAME

, SEX

, CRDATE)

VALUES (

'user'

, 'FirstTest'

, 'LastTest'

, 'M'

, 'Thu Jan 01 00:00:00 CST 2009')

Thanks

解决方案

Granted, PreparedStatement will make your code better, but to answer your question you need to tell the DBMS the format of your string representation of the Date. In Oracle (you don't name your database vendor) a string date is converted to Date using the TO_DATE() function:

INSERT INTO TABLE_NAME(

date_column

)values(

TO_DATE('06/06/2006', 'mm/dd/yyyy')

)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值