2013-04-15 50 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的數據庫...

相關問題