我有一個asp.net窗體與C#代碼後面和窗體上我有一個CheckBoxList。理想情況下,用戶可以使用此CheckBoxList來選擇適用於它們的多個項目,並將所有選擇插入到SQL數據庫的單個列中,每個選擇之間用逗號分隔。下面是我當前的CheckBoxList INSERT代碼,但是當我查詢SSMS上的SQL表時,CheckBoxList列顯示爲'NULL'。插入多個複選框選擇到一個數據庫列
金字塔是數據庫表的名稱。 CheckBoxListFruits是CheckBoxList控件的名稱,Favorite Fruits是我嘗試插入信息的列的名稱。
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = "INSERT INTO Pyramid set IsSelected = @IsSelected" + " WHERE Favorite [email protected]";
foreach (ListItem item in CheckBoxListFruits.Items)
{
cmd.Parameters.AddWithValue("@IsSelected", item.Selected);
cmd.Parameters.AddWithValue("@Fruits", item.Value);
}
}
我的代碼有什麼問題,我該如何解決它?
你調試了你的代碼嗎?你確定你的值不是'空'嗎?你的'CommandText'也不需要'+'。 – 2014-10-29 18:39:50
*「所有選擇插入到SQL數據庫中的單個列中,每個選擇之間用逗號分隔。」*請爲所有愛情做好準備,不要這樣做......閱讀正常化! – mituw16 2014-10-29 18:40:38
具體來說,請閱讀[第一範式](http://en.wikipedia.org/wiki/First_normal_form)。你不必記住正常的形式,但認識到它們背後的原則是非常重要的。 – mason 2014-10-29 18:56:54