请问怎样通过jdbc向oracle中存储date类型数据 oracle中的person表中birth字段是date类型的,请问怎样在jdbc 中pstmt.setDate()里添加birth内容,我试过new Date()Date.valueOf("2000-01-01")之类的都报错,请大家给我举个具体例子,谢谢了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Date date = new Date();//当前时间user.setAdddate(new java.sql.Date((date.getTime())));//存入数据库 1.Date date = new Date();SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");sDate = sdf.format(date);Person person=new Person();person.setBirthday(sDate);//现在传入String类型2. 对数据库操作的时候 String sSQL = "INSERT INTO Person(字段1,字段2,d_birthday) VALUES(?,?,to_date(?,'YYYY-MM-DD HH24:MI:SS')) PreparedStatement pstmt = conn.prepareStatement(sSQL); pstmt.setString(1, person.get***()); pstmt.setString(2, person.get***()); pstmt.setString(3, email.getBirthday()); int num = pstmt.executeUpdate(); conn.commit(); String sql = "insert into t_user(account, password, birthday, sex, name, nickname, country, pswquestion, " + "pswanswer, star, blood, address, email) values(?,?,?,?,?,?,?,?,?,?,?,?,?)"; pst = con.prepareStatement(sql);//执行 pst.setString(1, user.getAccount()); pst.setString(2, user.getPassword()); pst.setDate(3, new java.sql.Date(user.getBirthday().getTime())); pst.setString(4, user.getSex()); pst.setString(5, user.getName()); pst.setString(6, user.getNickName()); pst.setString(7, user.getCountry()); pst.setString(8, user.getPswquestion()); pst.setString(9, user.getPswanswer()); pst.setString(10, user.getStar()); pst.setString(11, user.getBlood()); pst.setString(12, user.getAddress()); pst.setString(13, user.getEmail()); pst.execute();这是我以前用的例子user.getBirthday()取出来的是java.util.Date在这里进行了转化,转化成了java.sql.Date()这样就可以存入数据库了在前台开始输入都是字符串比如有个日期格式String dateStr = "2000-01-01";SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Date birthday = sdf.parse(birthdayStr);user.setBirthday(birthday);这样就存入了日期这只是一种方法,楼主可以参考! 上面红色没显示出来,再来一次pst.setDate(3, new java.sql.Date(user.getBirthday().getTime())); 取出来的时间是00:00:00这是怎么回事呢?因为你没存时间进去,oracle默认的date类型有时间 这个简单的加法错在哪里了呢?? 关于struts+hibernate提交数据的问题 谁能给个记事本的JAVA程序研究下。谢谢啦 能不能用JAVA代码实现登陆框自动填写并登陆? 求解几个日期方法:每月第一天,最后一天,指定时间段内的所有日期序列。 近期研究阎宏的JAVA与模式,要过节了散分! 怎么打开别人的源码呢 各位兄弟姐妹,救救我先。。。。。。。! 帮我看看这个计算器的程序可以吗? java 插入mysql date 时间不对 return语句可以写在循环里吗? 关于单例模式
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
sDate = sdf.format(date);
Person person=new Person();
person.setBirthday(sDate);//现在传入String类型
2. 对数据库操作的时候
String sSQL = "INSERT INTO Person(字段1,字段2,d_birthday) VALUES(?,?,to_date(?,'YYYY-MM-DD HH24:MI:SS'))
PreparedStatement pstmt = conn.prepareStatement(sSQL);
pstmt.setString(1, person.get***());
pstmt.setString(2, person.get***());
pstmt.setString(3, email.getBirthday());
int num = pstmt.executeUpdate();
conn.commit();
"pswanswer, star, blood, address, email) values(?,?,?,?,?,?,?,?,?,?,?,?,?)";
pst = con.prepareStatement(sql);//执行
pst.setString(1, user.getAccount());
pst.setString(2, user.getPassword());
pst.setDate(3, new java.sql.Date(user.getBirthday().getTime()));
pst.setString(4, user.getSex());
pst.setString(5, user.getName());
pst.setString(6, user.getNickName());
pst.setString(7, user.getCountry());
pst.setString(8, user.getPswquestion());
pst.setString(9, user.getPswanswer());
pst.setString(10, user.getStar());
pst.setString(11, user.getBlood());
pst.setString(12, user.getAddress());
pst.setString(13, user.getEmail());
pst.execute();这是我以前用的例子user.getBirthday()取出来的是java.util.Date
在这里进行了转化,转化成了java.sql.Date()这样就可以存入数据库了在前台
开始输入都是字符串
比如有个日期格式
String dateStr = "2000-01-01";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date birthday = sdf.parse(birthdayStr);
user.setBirthday(birthday);
这样就存入了日期这只是一种方法,楼主可以参考!
pst.setDate(3, new java.sql.Date(user.getBirthday().getTime()));
因为你没存时间进去,oracle默认的date类型有时间