Data truncation: Incorrect datetime value: ''

user2951465

Can anyone help me with a sample JSP code to store date in a MySql database through JDBC? When I try to execute the code given below, I get the following exception:

com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '' for column 'date' at row 1

How to overcome this problem? Following is my code:

Connection con = null;

String StaffName = request.getParameter("StaffName");
// String subcode = request.getParameter("subcode");
String hourId = request.getParameter("hourId");
if (hourId == null)
    hourId = "";
String day = request.getParameter("day");
if (day == null)
    day = "";
String date = request.getParameter("date");
try {
    Class.forName("com.mysql.jdbc.Driver");
    con = DriverManager.getConnection("jdbc:mysql://localhost:3306/StaffAllocation", "root", "success");

    // PreparedStatement stat = con.PrepareStatement();
    String updateString = "INSERT INTO tblstaffallocation (StaffName,hourId,daysId,date) VALUES (?,?,?,?)";
    PreparedStatement preparedStatement = con.prepareStatement(updateString);

    preparedStatement.setString(1, StaffName);
    preparedStatement.setInt(2, 0);
    preparedStatement.setInt(3, 0);
    preparedStatement.setString(4, date);
} catch (Exception e) {
    out.print(e);
}
MartenCatcher

To set date to prepared statement you need change type of value:

String date = request.getParameter("date");
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); // your template here
java.util.Date dateStr = formatter.parse(date);
java.sql.Date dateDB = new java.sql.Date(dateStr.getTime());

now convert String date to java.sql.Date and use another method:

preparedStatement.setDate(4,dateDB);

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

Data truncation: Incorrect datetime value: 'null' in Java

Hibernate - ERROR: Data truncation: Incorrect datetime value

Data truncation: Incorrect datetime value - coldfusion

Data truncation:Truncated incorrect Double value

SQL Data truncation: Incorrect date value

Data truncation: Incorrect datetime value: '04/10/2014 2:21PM'

Why do I get a "com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value:" error?

Data truncation: Truncated incorrect DOUBLE value: '3ML80909540'

java mysql Data truncation: Incorrect date value: '' error

Data truncation: Truncated incorrect DOUBLE value: '3ML80909540'

Java: MySQL Data truncation: Incorrect double value: '' for column

Hibernate Incorrect datetime value

Incorrect datetime value in MySQL

MySql incorrect datetime value

Truncated incorrect datetime value mysql

Incorrect datetime value in MySQL table

MySQL 1292 Incorrect datetime value

Warning: #1292 Incorrect datetime value

PHP DateTime gives incorrect value

Hibernate data truncation: Incorrect integer value: '\xAC\xED\x00\x05sr\x00& when trying to save a OneToMany Relation

"Scaling of decimal value resulted in data truncation" via ODBC

MysqlDataTruncation: Data truncation: Out of range value for column 'agentID' at row 4

Mysql STR_TO_DATE incorrect datetime value

1292 Incorrect datetime value for column 'updated_at'

Mysql STR_TO_DATE incorrect datetime value

Incorrect data format for value - OrdType

Mysql Invalid datetime format: 1292 Incorrect datetime value

Mysql Invalid datetime format: 1292 Incorrect datetime value

SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value