数据截断:不正确的datetime值:“用于行1的列'date'

时间:2022-03-28 11:07:55

My application is getting this error:

我的应用程序出现了以下错误:

Data truncation: Incorrect datetime value: '2-24-2015' for column 'POrder_Date' at row 1

数据截断:不正确的datetime值:第1行“POrder_Date”列的“2-24-2015”

I have MySQL connector java v-5.1.7

我有MySQL connector java v-5.1.7

java.util.Date date = new java.util.Date();
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);
String date1, mon, datex, year, yearx, currentDate;
int d, d1;

following code is in my class,s constructor:

下面的代码在我的类s构造函数中:

date1=df.format(date);
    d=date1.indexOf('/');
    mon=date1.substring(0,d);
    d1=date1.lastIndexOf('/');
    datex=date1.substring(d+1,d1);
    yearx=date1.substring(d1+1);
    year="20"+yearx;
    currentDate=mon+"-"+datex+"-"+year;
    System.out.println("current date  "+currentDate);

2 个解决方案

#1


1  

mysql default date format "yyyy-mm-dd".change date format then store .may be it will work.

mysql默认的日期格式“yyyy-mm-dd”。更改日期格式,然后储存。也许它会工作。

java.util.Date date = new java.util.Date();
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);
String  date1,mon,datex,year,yearx,currentDate;
int d,d1;
date1=df.format(date);
d=date1.indexOf('/');
mon=date1.substring(0,d);
d1=date1.lastIndexOf('/');
datex=date1.substring(d+1,d1);
yearx=date1.substring(d1+1);
year="20"+yearx;
currentDate=mon+"-"+datex+"-"+year;
System.out.println("current date  "+currentDate);
//change currentdate format MM-dd-yyyy into yyyy-MM-dd
try {
        SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy");
        Date convertedCurrentDate = sdf.parse(currentDate);
        System.out.println(new SimpleDateFormat("yyyy-MM-  dd").format(convertedCurrentDate));
    } catch (ParseException ex) {
        Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
    }

check print date format like(2015-05-25).

检查打印日期格式如(2015-05-25)。

#2


0  

You have two choices here:

你有两个选择:

Either use updateDate() where you presently use rs.updateString(2,podate). Pass a Date object to updateDate().

在当前使用rs.updateString(2,podate)的地方,可以使用updateDate()。传递一个Date对象到updateDate()。

Or change your internal date formatting throughout to comply with the ISO yyyy-mm-dd standard.

或者更改您的内部日期格式以符合ISO yyyyy -mm-dd标准。

#1


1  

mysql default date format "yyyy-mm-dd".change date format then store .may be it will work.

mysql默认的日期格式“yyyy-mm-dd”。更改日期格式,然后储存。也许它会工作。

java.util.Date date = new java.util.Date();
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);
String  date1,mon,datex,year,yearx,currentDate;
int d,d1;
date1=df.format(date);
d=date1.indexOf('/');
mon=date1.substring(0,d);
d1=date1.lastIndexOf('/');
datex=date1.substring(d+1,d1);
yearx=date1.substring(d1+1);
year="20"+yearx;
currentDate=mon+"-"+datex+"-"+year;
System.out.println("current date  "+currentDate);
//change currentdate format MM-dd-yyyy into yyyy-MM-dd
try {
        SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy");
        Date convertedCurrentDate = sdf.parse(currentDate);
        System.out.println(new SimpleDateFormat("yyyy-MM-  dd").format(convertedCurrentDate));
    } catch (ParseException ex) {
        Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
    }

check print date format like(2015-05-25).

检查打印日期格式如(2015-05-25)。

#2


0  

You have two choices here:

你有两个选择:

Either use updateDate() where you presently use rs.updateString(2,podate). Pass a Date object to updateDate().

在当前使用rs.updateString(2,podate)的地方,可以使用updateDate()。传递一个Date对象到updateDate()。

Or change your internal date formatting throughout to comply with the ISO yyyy-mm-dd standard.

或者更改您的内部日期格式以符合ISO yyyyy -mm-dd标准。