【问题标题】:Entering various values in mysql from various JCheckboxes in JAVA从 JAVA 中的各种 JCheckboxes 在 mysql 中输入各种值
【发布时间】:2015-04-11 23:32:29
【问题描述】:

我的表单中有以下 4 个 JChecbox。如果用户单击所有四个或 JCheckboxes 的任何选项,我如何将 mysql 数据库中的复选框中的值保存在一列中?当我单击我的添加按钮时,它应该存储所选复选框中的所有值请帮助.. 谢谢

我的代码:

    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()


        }
    });

【问题讨论】:

  • 你卡在哪里了?
  • 查看已编辑的问题。如何从选定的复选框中检索所有值并将它们插入数据库中?
  • 目前您正在检查复选框中的值并分配给字符串 .ok 但有什么问题?插入到 db?
  • 如果我点击所有复选框会怎样?如何获取数据库中的所有值?

标签: java mysql jcheckbox


【解决方案1】:

您可以将数据保存在单独的表格中。我的意思是,假设您将数据存储在一个表 temp 中,该表有 2 列 - id 和 selection。现在我的建议是创建 2 个表,一个用于 id,另一个用于选择。选择表将有 2 列 id 和 selection。 id 列是 id 表的 id 列的外键。

现在当 ID 为 01 的用户选择“外国”和“旅行”时,您在选择表中输入 2 个条目,即 01 - 外国和 01 - 旅行

现在,当 id 为 02 的用户选择所有选项时,您将在选择表中针对用户的 id 创建 4 个条目:

  1. 02-国外,
  2. 02-旅游,
  3. 02-危险,
  4. 02-医疗

这样您可以分别保存每个选择。

收到您的评论后

在您发表评论后,我只能建议您在表中创建 4 个布尔类型的列,并将每个复选框的状态存储在每个列中。

【讨论】:

  • 不。这看起来很复杂。另一种存储在同一张表中的方式?
  • 用户选择的复选框是否只有 4 个?
  • 是的,只有 4 个复选框。用户可以选择全部,或三个,或两个,或一个!如何获取存储在数据库中的值?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 2016-10-15
  • 2012-03-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多