質問: "男"として検索できるような例文を教えていただきたいです。 わかりにくくて、大変申し訳ございませんが、ご協力お願いいたします。
回答: 前回の質問の続きのようですので、こちらに記載します。 質問内容と趣旨があっているかわかりませんが、以下は一例です。データベースはH2Databaseですが。 以下のテーブルがあるとします。 ``` CREATE TABLE SAMPLE_USER ( ID CHAR(10) not null primary key, NAME VARCHAR(255) not null, GENDER CHAR(1), PERIOD CHAR(1) ); INSERT INTO SAMPLE_USER (ID, NAME, GENDER, PERIOD) VALUES('A000000001', 'サンプル名前01', '1', '1'); INSERT INTO SAMPLE_USER (ID, NAME, GENDER, PERIOD) VALUES('A000000002', 'サンプル名前02', '2', '2'); INSERT INTO SAMPLE_USER (ID, NAME, GENDER, PERIOD) VALUES('A000000003', 'サンプル名前03', '1', '3'); INSERT INTO SAMPLE_USER (ID, NAME, GENDER, PERIOD) VALUES('A000000004', 'サンプル名前04', '2', '4'); ``` プログラムの方は以下のようにSQLを作っているようになると思います。 ``` public static void main(String[] args) { // フレーム表示 JFrame frame = new JFrame("test"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(200, 200); frame.getContentPane().setLayout(null); frame.setLayout(new FlowLayout()); // パネル JPanel panel = new JPanel(); frame.add(panel); // チェックボックス JCheckBox[] checkBoxs = new JCheckBox[2]; checkBoxs[0] = new JCheckBox("男性"); checkBoxs[0].setBounds(306, 12, 98, 23); panel.add(checkBoxs[0]); checkBoxs[1] = new JCheckBox("女性"); checkBoxs[1].setBounds(306, 40, 98, 23); panel.add(checkBoxs[1]); // ボタン JButton button = new JButton("SQL発行"); panel.add(button); // アクション button.addActionListener(event -> { StringBuilder sql = new StringBuilder("SELECT * FROM SAMPLE_USER"); try (Connection connection = DriverManager.getConnection("jdbc:h2:~/test", "sa", "")) { if (checkBoxs[0].isSelected() && checkBoxs[1].isSelected()) { sql.append(" WHERE GENDER IN ('1', '2')"); } else if (checkBoxs[0].isSelected()) { sql.append(" WHERE GENDER = '1'"); } else if (checkBoxs[1].isSelected()) { sql.append(" WHERE GENDER = '2'"); } try (PreparedStatement ps = connection.prepareStatement(sql.toString())) { try (ResultSet rs = ps.executeQuery()) { System.out.println("-結果-"); while (rs.next()) { System.out.println(rs.getString(1)); } System.out.println("----"); } } catch (Exception e) { e.printStackTrace(); } } catch (Exception e) { e.printStackTrace(); } }); // 表示 frame.setVisible(true); } ```