前提・実現したいこと
Strutsで更新の実装をしています。
4つのテーブルを結合しています。
それぞれのカラム名に一致した値をUPDATEしたいのですが、
daoクラスにてUPDATEメソッドを実装中に以下のエラーメッセージが発生しました。
executeQuery()が実行できないようです。
SQL文はMysqlで試したところ実行できていました。
発生している問題・エラーメッセージ
java.sql.SQLException: Can not issue data manipulation statements with executeQuery().
該当のソースコード
public static void update(UpdateForm form) throws ClassNotFoundException, SQLException { ResultSet rs = null; PreparedStatement ps = null; DBConnecter conn = new DBConnecter(); UpdateForm update=new UpdateForm(); String orders="update orders o inner join companies r on o.company_id = r.company_id set r.company_name=?, o.company_id=?, work_period_from=?, work_period_to=?,standard_unit_price=? where project_code=?"; String projects="UPDATE projects SET project_name=?, work_location=?, " + "work_period_from=?, work_period_to=?, engineer_family_name=?, engineer_first_name=?, " + "engineer_family_name_kana=?, engineer_first_name_kana=?, engineer_age=?, engineer_tel=? WHERE project_code=?"; String received_orders="update received_orders re inner join companies rr on re.company_id = rr.company_id set rr.company_name=?, re.company_id=?, work_period_from=?, work_period_to=?,standard_unit_price=? where project_code=?"; String a=form.getCompanyId(); try { ps=conn.connect().prepareStatement(orders); ps.setString(1, update.getCompanyName1()); ps.setString(2, update.getCompanyId()); ps.setString(3,update.getOcWorkPeriodFrom()); ps.setString(4, update.getOcWorkPeriodTo()); ps.setString(5, update.getoStandardUnitPrice()); ps.setString(6, update.getProjectCode()); //ps.executeQuery(); ps=conn.connect().prepareStatement(projects); ps.setString(1, update.getProjectName()); ps.setString(2,update.getWorkLocation()); ps.setString(3, update.getWorkPeriodFrom()); ps.setString(4, update.getWorkPeriodTo()); ps.setString(5, update.getEngineerFamilyName()); ps.setString(6, update.getEngineerFirstName()); ps.setString(7, update.getEngineerFamilyNameKana()); ps.setString(8, update.getEngineerFirstNameKana()); ps.setString(9, update.getEngineerAge()); ps.setString(10, update.getEngineerTel()); ps.setString(11, update.getProjectCode()); //ps.executeQuery(); ps=conn.connect().prepareStatement(received_orders); ps.setString(1, update.getCompanyName2()); ps.setString(2, update.getrCompanyId()); ps.setString(3,update.getrWorkPeriodFrom()); ps.setString(4, update.getrWorkPeriodTo()); ps.setString(5, update.getrStandardUnitPrice()); ps.setString(6, update.getProjectCode()); ps.executeQuery(); } catch (SQLException e) { e.printStackTrace(); } } }
どこかおかしいコードがあればアドバイスを頂きたいです。
宜しくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/15 04:31