java取得日期格式是格林威治日期格式,最好转换成字符串插入吧。

解决方案 »

  1.   

    但是sql server2000 中字段为“datetime"型
      

  2.   

    insert into TABLE (FD_Date) values (to_date('"+DateString+"',yyyy/mm/dd ));
    //试试可不可以,向oracle中可以这么用,我是菜鸟,答错了别笑话俺
      

  3.   

    转换如下:
    to_date(date,'yyyy-mm-dd')
      

  4.   

    int year,month,date,hour;
       String time;
       GregorianCalendar calendar;
       calendar=new GregorianCalendar();
       year=calendar.get(//如下添入DAY常量)
       month=calendar.get(Calendar.MONTH)+1;
       day=calendar.get(Calendar.DAY_OF_MONTH);
      // hour=calendar.get(Calendar.HOUR_OF_DAY);
       date=String.valueOf(year)+"":"+String.valueOf(month)+":"+String.valueOf(day);
    //再加入你刚才的sql语句,注意FD_Date应该是varchar型
    sql_insert = "insert into TB_ApplyRights (FD_Date) values('"+date+"')";还有别忘了import java.util.*;因为GregorianCalendar需要该类库。
    All have been tested.Have any other problem,send to [email protected]
      

  5.   

    一是你将表中的datetime改成varChar(30)类型,这样做起来会比较方便。
    二是你再往表中插入时直接用系统默认值,在向表中插入时,或更新时,这个值由系统自动添加。
      

  6.   

    楼上的最好不要误导……
    完全没有必要将系统的datetime类型改成varchar类型,那样反而很不方便
    to楼主:
    你所取的时间是java.util.Date类型的,它和数据库中的date类型(不管什么数据库)数据并不是对应的,应该针对数据库date类型选定java.sql下的时间日期格式。
    若数据库中时间类型包含如下:年月日
    则对应的java内变量类型是java.sql.Date
    数据库中时间类型包含如下:年月日时分秒
    则对应的java内变量类型是java.sql.TimeStamp
    数据库中时间类型包含如下:时分秒
    则对应的java内变量类型是java.sql.Time
    所以你在执行插入等sql操作之前,就必须将时间字段对应变量的类型及格式确定好,否则就会报你这种错误
    顺便给你一个将特定格式的字符串数据转换成对应数据库的年月日日期类型((即java.sql.Date)的函数:
    import java.text.*;
    import java.util.Locale;
    /**
     * 日期:2002-5-27
     * 描述:将一个类型为"yyyy-MM-dd"的字符串转换为一个系统日期
     *      
     * */
    public class StringToDate {
      public final static java.sql.Date string2Date(String dateString)
      throws java.lang.Exception {
        DateFormat dateFormat;
        dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
        dateFormat.setLenient(false);
        java.util.Date timeDate = dateFormat.parse(dateString);//util类型
        java.sql.Date dateTime = new java.sql.Date(timeDate.getTime());//sql类型
        return dateTime;
      }
    }
      

  7.   

    可以给datetime字段类型赋予字符串,只要符合日期格式就行。
    比如:2002-08-11
      

  8.   

    用{fn CURDARE}在JDBC里可以的