2017-05-18 108 views
0

我想在複選框被選中時提供「1」值,在未被選中時提供「0」。如何在數據庫中添加複選框的多個值

image

但每當我選擇一些複選框,並嘗試插入數據庫,自動,所有的複選框被選中,我得到數據庫中的所有列用「1」值。我使用的Microsoft SQL Server 2014

這是我的形式和我的數據庫列的形象:你總是會得到價值1插入到

This is the image of my form and columns in my database

"Insert into UserPrivl values ('" + lboUsers.SelectedItem.ToString() + "', '" 
    + (Convert.ToBoolean(chkCreateComp.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkSaveAs.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkAddControl.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkEditControl.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkDeleteControl.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkDeleteControl.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkAddIndi.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkEditIndi.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkDeleteIndi.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkPandLDef.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkBSDef.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkBudgetInfo.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkNewJournal.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkEditJournal.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkDeleteJournal.Checked = true) ? "1" : "0") + "','0','0','" 
    + (Convert.ToBoolean(chkNewReceipt.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkEditReceipt.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkDeleteReceipt.Checked = true) ? "1" : "0") + "','0','" 
    + (Convert.ToBoolean(chkNewPayment.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkEditPayment.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkDeletePayment.Checked = true) ? "1" : "0") + "','0','" 
    + (Convert.ToBoolean(chkNewBankR.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkEditBankR.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkDeleteBankR.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkNewBankP.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkEditBankP.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkDeleteBankP.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkNewWithdrawl.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkEditWithdrawl.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkDeleteWithdrawl.Checked = true) ? "1" : "0") + "','0','" 
    + (Convert.ToBoolean(chkNewDeposit.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkEditDeposit.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkDeleteDeposit.Checked = true) ? "1" : "0") + "','0','" 
    + (Convert.ToBoolean(chkDaybook.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkJournalExplorer.Checked = true) ? "1" : "0") + "','0','0','" 
    + (Convert.ToBoolean(chkStockGroup.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkAddStock.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkEditStock.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkDeleteStock.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkAddStockTran.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkEditStockTran.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkDeleteStockTran.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkTranReport.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkStockReport.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkSalesReport.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkPurchaseReport.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkChart.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkControlStat.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkTrialBal.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkBalanceUnderCon.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkVoucher.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkIndiStat.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkFinancialStat.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkBalList.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkUserReport.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkGraph.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkSearch.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkMissing.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkAudit.Checked = true) ? "1" : "0") + "','" 
    + (Convert.ToBoolean(chkSysSet.Checked = true) ? "1" : "0") + "')"); 
+0

更換'='和''==在三元運算符 –

+1

或跳過所有等號,像這樣'Convert.ToBoolean(chkBalList.Checked)' – Nino

+0

謝謝,bro讚賞你的幫助 –

回答

1

在這種情況下,表,因爲chkCreateComp.Checked = true將評估爲true總是 更改爲有條件等於運營商。(==)

相關問題