2013-04-15 94 views
1

如何在Java中插入多个选中的复选框到Java数据库当然。 我添加了“,”但它不工作只有第一个选中的复选框被存储。如何在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();} 
+2

只是作为一个侧面说明:在所有地方使用布尔方法的结果,当'==不需要TRUE' –

+1

,而不是'haspaper = something.getText() +“,”;'应该是'haspaper + = something.getText()+“,”;'。在'=' –

+0

之前加上'+'作为文本是高度本地化的值,我会推荐一些其他技术。您可以使用[排名函数](http://en.wikipedia.org/wiki/Ranking_function)创建一个标量结果,您将在db中存储该结果。 [更多阅读](http://stackoverflow.com/questions/9048225/java-enum-confusion-with-creating-a-bitmask-and-checking-permissions) –

回答

2

纠正在你的代码:

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(); 
    } 
+0

感谢你们解决问题,再次感谢 –

+0

如果选中了多个框,这仍然不起作用,只会存储一个。 – Adrian

+0

@Adrian - 我认为这段代码只是主逻辑的一部分,只有Zack知道这段代码是否适用于他。 –

1

要指定值的每个如果条件haspaper变量。 附加价值为每代替如果要不然就把如果块 就像你的逻辑和:

haspaper += value 
+0

抱歉,我只是一个初学者,我不明白你的答案 –

1

您可以捕捉在POJO的servlet/JSP和存储的检查值/模型类的对象,并最终在存储使用JDBC/Hibernate的数据库...

相关问题