2016-03-05 72 views
-1

我試圖插入一些數據從ASP.NET DropDownList和CheckBox到數據庫 如果複選框被選中我想插入DropDownList的值 如果沒有選中我想通過空值。但在我的表中,它插入0而不是NULL 如果未檢查,我如何傳遞null而不是零(0)? 她是我的代碼:asp.net unchecked checkbox pass not value as NULL

if (CheckBoxMorning.Checked == true) 
    { 
    SqlParameter paramMorning = new SqlParameter("@Morning", DropDownMorning.SelectedValue); 
    cmd.Parameters.Add(paramMorning); 
    } 

    else 
    { 
     SqlParameter paramMorning = new SqlParameter("@Morning", CheckBoxMorning.Checked); 
     cmd.Parameters.Add(paramMorning); 
    } 

預先感謝您

回答

2

您當前的代碼中插入數據庫0因爲CheckBoxMorning.Checked是計算結果爲0 & 1.你將不得不通過DBNull.Value一個布爾的SqlParameter方法是這樣的: -

SqlParameter paramMorning = new SqlParameter("@Morning", DBNull.Value); 
+1

非常感謝。 –

1

添加到@Rahul的前面回答,你的代碼可能會被縮短並通過這樣做容易理解:

SqlParameter paramMorning = new SqlParameter("@Morning", CheckBoxMorning.Checked ? DropDownMorning.SelectedValue : DBNull.Value); 
    cmd.Parameters.Add(paramMorning); 
0

CheckBoxMorning.Checked總是會有一個非NULL值。

如果您想重新解釋未檢查爲NULL,則需要另一個類似於IF的結構,並在Checked爲false的情況下分配DBNull.value。

相關問題