[英]Storing value of check boxes as 0 or 1 in SQL Server
我有四個這樣的復選框,
<asp:CheckBoxList ID="CheckBoxList1" runat="server"
onselectedindexchanged="CheckBoxList1_SelectedIndexChanged" Width="190px">
<asp:ListItem>Programming Contests</asp:ListItem>
<asp:ListItem>Seminars/Workshops</asp:ListItem>
<asp:ListItem>Social Gatherings</asp:ListItem>
<asp:ListItem>Tech Support</asp:ListItem>
</asp:CheckBoxList>
我想將這些復選框的值存儲為表中的0或1。 而且,在某些情況下,用戶選擇多個復選框時,該如何處理? 我在數據庫中使用了“位”數據類型。 但是我所困惑的是如何在數據庫中將這些復選框的值存儲為0或1?
真的很簡單。 您需要做的就是為數據庫中的每個選項創建一個bit字段。 我看不到任何其他合乎邏輯的方法。
從您的復選框返回的true或false值在C#中稱為布爾值。 布爾值在數據庫中存儲為“ 1”和“ 0”。
編輯 :
如果您打算擴展這些選項,那么我將根據以下內容提出一些建議。 您可以創建一個包含所有選項的表,並為它們設置代碼。 然后創建一個鏈接表,其中將包含該人及其所需的選項。 如果用戶選擇多個選項,則它們將被多次放入表中(每個選項一次)。
您可以嘗試以下操作:表“ checkboxlist”具有字段ID,用於保存復選框列表項的說明。 然后讓您的表中的用戶選擇了哪些項目:表“ Checkboxanswers”的字段“ checkboxitemId”是“ checkboxlist”的id字段的外鍵,然后添加另一個位字段以指示是否已選擇。
protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
{
List<int> checkList = new List<int>();
foreach (ListItem item in CheckBoxList1.Items)
{
if (item.Selected)
{
checkList.Add(1);
}
else
{
checkList.Add(0);
}
//Now you can use this list to pass it to Sql
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.