以下の executeUpdate() メソッドから、db2 テーブルのデータを更新したいと考えています。それを行う前に、C_Conf と D_Conf の値が「はい」の場合は「Y」に置き換える必要があるかどうかを確認し、値が「いいえ」の場合は「N」に置き換える必要があることを意味します。どこでこれを確認して更新クエリに追加できますか。
executeUpdate() では、C_Conf と D_Conf の値を「N」としてハードコーディングしました。ここで、値が「はい」の場合は「Y」に置き換える必要があるか、「いいえ」の場合は「N」に置き換える必要があるかを確認します。チェック方法とコード内の場所は? 助けてください
public class DbTask {
Connection connection;
Statement statement, statement1;
public boolean executeQuery(String dbQuery){
boolean result = false;
connection = DatabaseConnection.getCon();
try {
statement = connection.createStatement();
result = statement.execute(dbQuery);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
public boolean cleanTable(String schema, String tableName) {
boolean result = false;
connection = DatabaseConnection.getCon();
try {
statement = connection.createStatement();
// can be implemented later for deleteing the table data
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
public void executeUpdate() {
String selectQuery = "select
S_NUMBER,CON,D_CON,R_CON,VAL_CON
from
OTG.S_SAMPLE_VAL"
+" WHERE R_TS = (SELECT MAX(R_TS) FROM
OTG.S_SAMPLE_VAL)";
Statement statement;
try {
connection = DatabaseConnection.getCon();
statement = connection.createStatement();
statement1 = connection.createStatement();
ResultSet rs = statement.executeQuery(selectQuery);
while(rs.next()){
StringBuffer updateQuery = new StringBuffer();
updateQuery.append("update OTG.R_VAL set ");
updateQuery.append("C_Conf='");
updateQuery.append( "N', ");
// updateQuery.append(rs.getString(2) + "', ");
updateQuery.append("D_Conf='");
// updateQuery.append(rs.getString(3) + "', ");
updateQuery.append( "N', ");
updateQuery.append("REVE=");
updateQuery.append(rs.getString(4) + ", ");
updateQuery.append("VAL='");
updateQuery.append(rs.getString(5) + "' ");
updateQuery.append("where S_NO ='" + rs.getString(1) + "'");
System.out.println(updateQuery.toString());
statement1.executeUpdate(updateQuery.toString());
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}