的问题:- C#,SQL插入值和复选框的ID从CheckBoxList的
我填充从SQL表一个复选框列表:
public static List<string> populateCheckBoxes(string type)
{
List<string> items = new List<string>();
items.Add("");
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand sqlcmd;
switch (type)
{
case "referralorsignposting":
sqlcmd = new SqlCommand("SELECT * FROM SWApp_List_Equipment WHERE type = 'Referral or Signposting' ORDER BY order_no, name", conn);
break;
case "actionstaken":
sqlcmd = new SqlCommand("SELECT * FROM SWApp_List_Equipment WHERE type = 'Actions Taken' ORDER BY order_no, name", conn);
break;
default:
sqlcmd = new SqlCommand("SELECT * FROM SWApp_List_Equipment", conn);
break;
}
SqlDataAdapter da = new SqlDataAdapter(sqlcmd);
DataTable dt = new DataTable();
da.Fill(dt);
foreach (DataRow dr in dt.Rows)
{
items.Add(dr["name"].ToString());
CheckboxIDRecord = dr["id"].ToString();
//items.Add(dr["VisitTime"] + " " + dr["PropPostcode"]);
}
return items;
}
我已经通过了在选择的每个值重复“checkboxlist”并插入每个选中的值:
foreach (var item in saw.actionsTakenCheckBoxList)
{ //ADD ACTIONS AND REFERRAL
SqlCommand add = new SqlCommand("INSERT INTO SWApp_CheckboxAnswers (SW_ID, Checkbox_ID, Checkbox_Section, Checkbox_Type, Checkbox_Answer) VALUES(@SW_ID,@Checkbox_ID,@Checkbox_Section,@Checkbox_Type,@Checkbox_Answer) ");
add.CommandType = CommandType.Text;
add.Connection = sqlcon;
add.Parameters.AddWithValue("@SW_ID", "");
add.Parameters.AddWithValue("@Checkbox_ID", "");
add.Parameters.AddWithValue("@Checkbox_Section", "");
add.Parameters.AddWithValue("@Checkbox_Type", "");
add.Parameters.AddWithValue("@Checkbox_Answer", "");
add.Parameters["@SW_ID"].Value = saw.EntryID.ToString();
add.Parameters["@Checkbox_ID"].Value = CheckboxIDRecord.ToString();
add.Parameters["@Checkbox_Section"].Value = "SmokeDetectionReferral";
add.Parameters["@Checkbox_Type"].Value = "";
add.Parameters["@Checkbox_Answer"].Value = item.ToString();
sqlcon.Open();
add.ExecuteNonQuery();
sqlcon.Close();
}
正如你可以看到我目前试过的只输入第一个v的ID在复选框列表中选择了Alue。
目的:
目的是具有插入件是“姓名”及每个项目的也为“id”的复选框的值。
研究:
我尝试下面的这篇文章,把物品放入一个数组,但结束了一个“阵列列的索引范围的”,这使我在第二篇文章。
Pass items from checkboxlist to SQL Server table
Index was out of bounds of array? c# forms
我将不胜感激任何与此指导。谢谢。
非常感谢你为这个广泛的,有用的答案。我设法使用复选框列表项目的字典来工作。 –