D:\JavaFrameworks\InsuranceFramework\src\java\db_adapter\ON_DUPLICATE_KEY_UPDATE.java
 1 /*
 2  * To change this template, choose Tools | Templates
 3  * and open the template in the editor.
 4  */
 5 
 6 package db_adapter;
 7 
 8 /**
 9  *
10  * @author sameldin
11  */
12 
13 import java.io.*;
14 import java.sql.Connection;
15 import java.sql.DriverManager;
16 import java.sql.PreparedStatement;
17 import java.sql.ResultSet;
18 import java.sql.SQLException;
19 import java.util.ArrayList;
20 import java.util.Hashtable;
21 import java.util.MissingResourceException;
22 import java.util.ResourceBundle;
23 
24 //import org.apache.log4j.Logger;
25 //import org.apache.log4j.PropertyConfigurator;
26 
27 import utils.*;
28 import constants.*;
29 
30 public class ON_DUPLICATE_KEY_UPDATE
31 {
32     Connection  localConnection = null;
33 
34     public ON_DUPLICATE_KEY_UPDATE()
35     {
36         BD_Connector localBD_Connector = new BD_Connector();
37         localConnection = localBD_Connector.getConnection();
38     }
39     /*
40      * The ON DUPLICATE KEY UPDATE clause can contain multiple column assignments, separated by commas.
41      * With ON DUPLICATE KEY UPDATE, the affected-rows value per row is 1 if the row is inserted as a new row, and 2 if an existing row is updated.
42      */
43      public int update_DUPLICATE_KEY_UPDATE(String customersTableName, String name, int value_1, int value_2)
44      {
45         if(null == localConnection)
46             return(Constants.ERROR_RUN);
47         PreparedStatement   localPreparedStatement      = null;
48         //==========================
49         try
50         {
51             //  INSERT INTO table (name,value_1_ID,value_2_ID) VALUES (1,2,3)
52             // ON DUPLICATE KEY UPDATE value_2_ID=value_2;
53 
54                 String qryString        = "";
55                 String customersTable        = DatabaseKeysPropertyManager.getParameter(customersTableName);
56                 //==========================
57                 qryString       =   "INSERT INTO "
58                                 + customersTable
59                                 + "(name,value_1_ID,value_2_ID) "
60                                 + "VALUES("
61                                 +name
62                                 + ","
63                                 + value_1
64                                 + ", "
65                                 + value_2
66                                 + ");"
67                                 + "ON DUPLICATE KEY UPDATE "
68                                 + value_1
69                                 + "="
70                                 + value_2;
71 
72                 localPreparedStatement = localConnection.prepareStatement(qryString);
73                 localPreparedStatement.executeQuery();
74                 localPreparedStatement.close();
75          }
76         catch(MissingResourceException eMissingResourceException)
77         {
78             eMissingResourceException.printStackTrace();
79             return(Constants.ERROR_RUN);
80         }
81         catch(SQLException eSQLException)
82         {
83             eSQLException.printStackTrace();
84             return(Constants.ERROR_RUN);
85         }
86         return(Constants.NORMAL_RUN);
87      }
88 
89 }
90 
91