问题解决了,低级问题

作者遇到在数据库中插入特定格式日期的问题,发现只有较近年份的日期才能成功插入。通过使用Statement替代PreparedStatement,并调整代码实现,最终解决了该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

这个是我昨天晚上熬夜要解决的问题:http://student.youkuaiyun.com/space.php?uid=22902&do=blog&id=51981

睡觉前在论坛上发了一个帖子,问了下。http://topic.youkuaiyun.com/u/20101212/04/e93aa1ff-882c-486e-b524-9a0ae3c5853b.html?31380#replyachor

今天早上起来帖子上的一位好人的回答解决了我的问题,但是新问题接踵而来,我在插入记录时,像1111-11-11这种是插不进去的。但是2020-1-1这种确可以,在尝试了好多次以后,我得出了必须插入一个年份比较大的日期才可以。

今天早上又在想这个问题,终于 ,想起老师以前说过的PreparedStatement对数据库的日期支持有些问题,我就尝试着修改了下,终于,呵呵,成功了。谢谢老师,谢谢大家,谢谢CCTV。下面是代码,大家看看,引以为戒。

Code:
  1. public boolean insertOut(String id, String name, String type,   
  2.    java.sql.Date date, double money, String beizhu) {   
  3.   conn=DatabaseUtil.getConnection();   
  4.   boolean flag = false;   
  5.   int n = 0;   
  6.   //sql = "insert into out values(?,?,?,?,?,?)";   
  7.   sql="insert into out values('"+id+"','"+name+"','"+type+"','"+date+"','"+money+"','"+beizhu+"')";   
  8.   try {   
  9. //   ps = conn.prepareStatement(sql);   
  10. //   ps.setString(1, id);   
  11. //   ps.setString(2, name);   
  12. //   ps.setString(3, type);   
  13. //   ps.setDate(4, date);   
  14. //   ps.setDouble(5, money);   
  15. //   ps.setString(6, beizhu);   
  16.    stmt=conn.createStatement();   
  17.    n=stmt.executeUpdate(sql);   
  18.    //n = ps.executeUpdate();   
  19.    if (n > 0) {   
  20.     flag = true;   
  21.    } else {   
  22.     flag = false;   
  23.    }   
  24.    //ps.close();   
  25.   
  26.   } catch (Exception e) {   
  27.    e.printStackTrace();   
  28.   } finally {   
  29.    try {   
  30.     conn.close();   
  31.    } catch (Exception e) {   
  32.     e.printStackTrace();   
  33.    }   
  34.   }   
  35.   return flag;   
  36.  }   

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值