修改答复:很抱歉,java.sql.Date()肯定是在什么地方用的,好像是Hibernate的时候可以直接设值,现在不用Hibernate就只能用to_date函数了 改成下面的吧 呵呵!!
import java.util.Date;导入util包下的Date类 用于后面to_date使用
SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd hh:mm:ss");
String nowdate = sdf.format(new Date());
System.out.println(nowdate);
sql= "insert into tablename(colname) values(to_date('"+nowdate+"','yy-MM-dd hh:mm:ss'))";
statement.execute(sql);这样肯定就好了
实现思路:首先oracle数据库中的表必须是有字段类型是date类型,之后即可通过java方式进行插入,如插入当前时间:
oracle中当前时间用sysdate表示。所以可以通过如下方式插入:
string
userinfo="insert
into
userinfo
values("+"'"+userd+"',sysdate"+")";
//之后执行插库操作。
备注,实际在数据库中插入语句如下
sql:insert
into
userinfo
values('123',sysdate);
你的这个语句:insert into tablename(colname) values('nowdate')
插入的实际上为 'nowdate'字符串,而不是nowdate变量的值
你可以:
sql = insert into tablename(colname) values(?)
然后再匹配值
statement.setString(0,nowdate);
然后执行
你试试吧
答复补充:
查一下你的数据库colname字段试不是char类型,(注意不能是DATE类型)。
SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd");
String nowdate = "'"+sdf.format(new Date())+"'";
/*不好意思刚忘记了*/
String value = "char2date("+ nowdate + ",'yyyy-mm-dd')";
System.out.println(nowdate);
sql = insert into tablename(colname) values(value)
注意区别
你直接用数据库时间不久可以了sysdate