JAVA中将String类型转为Date写入数据库的datatime类型字段中

JAVA中将String类型的字符串写入数据库的datatime方法如下

      birth1 = txtyear.getText()+"-"+txtmoth.getText()+"-"+txtday.getText();//获取文本域里的值

      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");//设置日期格式
      java.util.Date birth =null;

      try
        {

            birth = sdf.parse(birth1); //返回的是java.util.Date的值

        } catch (ParseException ex)
        {
        }

下面是写入数据库时的SQL语句的写法,一般情况都用PreparedStatement接口,

                      Sql a = new Sql();//Sql是一个写好的连接数据库的类
                      Connection con = a.getConnection();                                   
                      PreparedStatement pstmt=null;
                      String sql = "INSERT table()values();
                      pstmt = con.prepareStatement(sql);
                      pstmt.setDate(1, new java.sql.Date (birth.getTime()));//千万要记住写入数据库时,必须这么写
                      pstmt.executeUpdate();

------------------------------------------------------------------------------------------------------------------------

public class StringToDate {

public static void main(String[] args) {

   String aa = "2008-01-02";
   SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//如果要带上时分秒可设成yyyy-MM-dd hh:mm:ss
   try {
    java.util.Date d = df.parse(aa); //将字符串转换成日期类型的  
    java.sql.Date e = new java.sql.Date(d.getTime());//转换成sql类型的日期格式以方便存储到数据库中
    
        Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
        Connection con =                (DriverManager.getConnection"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs;","sa","sa");
        String sql = "insert into userInfo values(?,?)";
        PreparedStatement st = con.prepareStatement(sql);
        st.setInt(1,1);
        st.setDate(2,e);
      
        st.executeUpdate();

        }catch(Exception ex){
        ex.printStackTrace();
        }
  
}

}

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值