osimer pothe
osimer pothe

Reputation: 2897

update current date and time to db using sql from Java code

i have a table "queue_in_progress" whose structure is like the following :

enter image description here

I want to update the DATE_TIME_TOKEN_TAKEN , CE_PK , Service_status of the table . For this , I have the following code :

    String sqlQuery = "UPDATE queue_in_progress\n"  +
                 "SET CE_PK="+ce_pk+" ,SERVICE_STATUS=1 \n"  +
                 "WHERE CATEGORY_PK="+Category_PK+" AND TOKEN_NO="+ Token_PK+" "
                    + " AND SERVICE_COUNTER="+service_counter+" AND SERVICE_CENTER_PK="+service_center+" ;";

java.util.Date utilDate = new Date();  // Convert it to java.sql.Date
java.sql.Date date = new java.sql.Date(utilDate.getTime());

PreparedStatement stmt = con.prepareStatement(sqlQuery);
                    stmt.setDate(1, date);
                    success = stmt.executeUpdate();

 But the success flag is returning -1 and the table is not updated . What is the problem ? What can I do to fix this problem ? 

Upvotes: 1

Views: 1608

Answers (2)

Rocherlee
Rocherlee

Reputation: 2801

OR if you want DATE_TIME_TOKEN_TAKEN to ALWAYS hold Current Time value, you can Set it on your Database side, no need to set it in your code.

ALTER TABLE queue_in_progress
MODIFY DATE_TIME_TOKEN_TAKEN DEFAULT CURRENT_TIMESTAMP;

Upvotes: 0

Elliott Frisch
Elliott Frisch

Reputation: 201527

I don't see DATE_TIME_TOKEN_TAKEN=? in your query (the bind parameter), I think you wanted

String sqlQuery = "UPDATE queue_in_progress SET DATE_TIME_TOKEN_TAKEN=?, "
        + "CE_PK=" + ce_pk
        + ", SERVICE_STATUS=1 WHERE CATEGORY_PK="
        + Category_PK
        + " AND TOKEN_NO="
        + Token_PK
        + " AND SERVICE_COUNTER="
        + service_counter + " AND SERVICE_CENTER_PK=" + service_center;

Upvotes: 1

Related Questions