【问题标题】:How to insert multiple checkbox values into single column database in Java如何在Java中将多个复选框值插入单列数据库
【发布时间】:2013-04-15 13:35:57
【问题描述】:

当然,我如何在 Java 中将多个选中的复选框插入到数据库中。 我添加了“,”,但它只存储了第一个选中的复选框。

我该如何解决这个问题?

这是我当前的代码:

String haspaper = null;

if(yes3.isSelected() == true){
    if(checkcontract.isSelected()==true){haspaper=checkcontract.getText()+",";}
    else if(checkcivile.isSelected()==true){haspaper=checkcivile.getText()+" , ";}
    else if(checkcontartpar.isSelected()==true){haspaper=checkcontartpar.getText()+" ,";}
    else {haspaper=mahiyapaper.getText()+" ,";}
}else{haspaper=no3.getText();}

【问题讨论】:

  • 附带说明:当使用布尔方法的结果时,不需要== true
  • 在所有地方,而不是haspaper=something.getText()+",";,应该是haspaper += something.getText()+",";。只需在=之前添加+
  • 由于文本是高度本地化的值,我会推荐一些其他技术。您可以使用rank function 创建一个将存储在数据库中的标量结果。 Some more reading

标签: java database checkbox


【解决方案1】:

更正您的代码:

String haspaper="" ;
    if(yes3.isSelected()){
        if(checkcontract.isSelected()){
             haspaper = haspaper + checkcontract.getText()+",";
        }
        else if(checkcivile.isSelected()){
             haspaper = haspaper + checkcivile.getText()+" , ";
        }
        else if(checkcontartpar.isSelected()){
             haspaper = haspaper + checkcontartpar.getText()+" ,";
        }
        else {
             haspaper = haspaper + mahiyapaper.getText()+" ,";
        }
    }else{
         haspaper=no3.getText();
    }

【讨论】:

  • 如果选中多个框,这仍然不起作用,只会存储一个。
  • @Adrian - 我认为这段代码只是主要逻辑的一部分,只有 Zack 知道这段代码是否适合他。
  • 这段代码并没有按照 OP 所说的那样做。干净利落。要么代码被大量修改以工作,要么 OP 的问题被错误陈述。
  • 您是否愿意为一个小错误发布您的整个代码,并且当您知道代码的哪一部分与它相关时?我想你不会。每个人都喜欢让它简单明了,让所有人都能理解。
【解决方案2】:

您将每个 if 条件赋值给 haspaper 变量。 根据您的逻辑附加值,而不是 if else put if 块 喜欢:

haspaper += value

【讨论】:

  • 对不起,我只是一个初学者,我不明白你的答案
【解决方案3】:

您可以在 servlet/jsp 中捕获检查的值,并将其作为对象存储在 pojo/model 类中,最后使用 jdbc/hibernate 存储到数据库中...

【讨论】:

    猜你喜欢
    • 2013-01-05
    • 1970-01-01
    • 2022-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-06
    • 2014-12-15
    • 1970-01-01
    相关资源
    最近更新 更多