Ввод различных значений в mysql из различных JCheckboxes в JAVA

У меня есть следующие 4 JChecboxes в моей форме. Если пользователь нажимает все четыре или любые варианты JCheckboxes, как мне сохранить значения из checkboxes в базе данных mysql в одном столбце sigle? Когда я нажимаю кнопку «Добавить», она должна сохранять все значения из выбранных флажков. Пожалуйста, помогите. Спасибо.

Мои коды:

    foreign = new JCheckBox("Foreign");
    foreign.setFont(new Font("Tahoma", Font.BOLD, 12));
    foreign.setForeground(new Color(240, 255, 240));
    foreign.setBounds(16, 25, 97, 23);
    foreign.setOpaque(false);
    panel.add(foreign);

    travelling = new JCheckBox("Travelling");
    travelling.setFont(new Font("Tahoma", Font.BOLD, 12));
    travelling.setForeground(new Color(240, 255, 240));
    travelling.setBounds(150, 26, 97, 23);
    travelling.setOpaque(false);
    panel.add(travelling);

    danger = new JCheckBox("Danger Pay");
    danger.setFont(new Font("Tahoma", Font.BOLD, 12));
    danger.setForeground(new Color(240, 255, 240));
    danger.setBounds(16, 68, 97, 23);
    danger.setOpaque(false);
    panel.add(danger);

    medical = new JCheckBox("Medical Scheme");
    medical.setFont(new Font("Tahoma", Font.BOLD, 12));
    medical.setForeground(new Color(240, 255, 240));
    medical.setBounds(150, 69, 121, 23);
    medical.setOpaque(false);
    panel.add(medical);
        add = new JButton("Add");
    add.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {

            int id1 = Integer.parseInt(id.getText());
            String fn = fname.getText();
            String ln = lname.getText();
            String po = pos.getText();
            String sa = sal.getText();
            String all = "";
                if(foreign.isSelected() && travelling.isSelected() && danger.isSelected() && medical.isSelected()){
                    all = "Foreign, Travelling, Danger, Medical";
                }else if(foreign.isSelected() && travelling.isSelected() && danger.isSelected()){
                    all = "Foreign, Travelling, Danger";
                }else if(foreign.isSelected() && travelling.isSelected()){
                    all = "Foreign, Travelling";
                }else if()


        }
    });

person yetin    schedule 11.04.2015    source источник
comment
где ты застрял?   -  person Madhawa Priyashantha    schedule 11.04.2015
comment
См. отредактированный вопрос. Как получить все значения из выбранных флажков и вставить их в базу данных?   -  person yetin    schedule 11.04.2015
comment
в настоящее время вы проверяете значения из флажков и назначаете строку .ok, но в чем проблема? Вставка в БД?   -  person Madhawa Priyashantha    schedule 11.04.2015
comment
Что, если я поставлю все галочки? Как получить все значения в БД?   -  person yetin    schedule 11.04.2015


Ответы (1)


Вы можете сохранить данные в отдельной таблице. Я имею в виду, что предположим, что вы храните данные во временной таблице, которая имеет 2 столбца - идентификатор и выбор. Теперь я предлагаю вам создать 2 таблицы, одну для идентификатора, а другую для выбора. таблица выбора будет иметь идентификатор 2 столбцов и выбор. столбец id должен быть внешним ключом для столбца id таблицы id.

Теперь, когда пользователь с идентификатором 01 выбирает «Иностранный» и «Путешествующий», вы делаете 2 записи в таблице выбора: 01 — Иностранный и 01 — Путешествующий.

Теперь, когда пользователь с идентификатором, скажем, 02, выбирает все параметры, вы должны сделать 4 записи в таблице выбора для идентификатора пользователя:

  1. 02-Иностранный,
  2. 02-Путешествие,
  3. 02-Опасность,
  4. 02-Медицинский

Таким образом, вы можете сохранить каждый выбор отдельно.

После получения вашего комментария

После вашего комментария я мог только предложить вам создать 4 столбца логического типа в таблице и сохранить состояние каждого флажка в каждом столбце.

person Blip    schedule 11.04.2015
comment
Нет.. Это кажется сложным. Другой способ хранения в той же таблице? - person yetin; 11.04.2015
comment
У вас есть только 4 флажка, которые выбирает пользователь? - person Blip; 11.04.2015
comment
Да всего 4 флажка. Пользователь может выбрать либо все, либо три, либо два, либо один! Как получить значения, хранящиеся в БД? - person yetin; 11.04.2015