如何在 CheckListBox 中获取选中的项目字符串

How to get the checked items string in a CheckListBox

foreach (var item in clbSymptoms.CheckedItems)
{
    using (var cmd = new SqlCommand(sql, conn))
    {
      cmd.Parameters.Add("@fName", SqlDbType.VarChar, 50).Value = txtFName.Text.Substring(0, 1).ToUpper() + txtFName.Text.Substring(1);
      cmd.Parameters.Add("@MName", SqlDbType.VarChar, 50).Value = txtMName.Text.Substring(0, 1).ToUpper() + txtMName.Text.Substring(1);
      cmd.Parameters.Add("@lName", SqlDbType.VarChar, 50).Value = txtLName.Text.ToUpper();
      cmd.Parameters.Add("@patientAge", SqlDbType.Int).Value = txtAge.Text;
      cmd.Parameters.Add("@purok", SqlDbType.VarChar, 50).Value = cbPurok.Text;
      cmd.Parameters.Add("@caseClass", SqlDbType.VarChar, 50).Value = cbClass.Text;
      cmd.Parameters.Add("@q1", SqlDbType.VarChar, 50).Value = cbQuestion1.Checked;
      cmd.Parameters.Add("@q2", SqlDbType.VarChar, 50).Value = cbQuestion2.Checked;
      cmd.Parameters.Add("@symptoms", SqlDbType.VarChar, 50).Value = item.ToString();
      cmd.Parameters.Add("@date", SqlDbType.DateTime).Value = DateTime.Now;
      cmd.ExecuteNonQuery();
    }
}

我希望症状有自己的单元格,但名字和其他东西只有一个单元格。

像这样循环检查您选中的项目:

foreach(var item in clbSymptoms.CheckedItems)
{
  using (var cmd = new SqlCommand(sql, conn))
  {
    cmd.Parameters.Add("@fName", SqlDbType.VarChar, 50).Value = txtFName.Text.Substring(0, 1).ToUpper() + txtFName.Text.Substring(1);
    cmd.Parameters.Add("@MName", SqlDbType.VarChar, 50).Value = txtMName.Text.Substring(0, 1).ToUpper() + txtMName.Text.Substring(1);
    cmd.Parameters.Add("@lName", SqlDbType.VarChar, 50).Value = txtLName.Text.ToUpper();
    cmd.Parameters.Add("@patientAge", SqlDbType.Int).Value = txtAge.Text;
    cmd.Parameters.Add("@purok", SqlDbType.VarChar, 50).Value = cbPurok.Text;
    cmd.Parameters.Add("@caseClass", SqlDbType.VarChar, 50).Value = cbClass.Text;
    cmd.Parameters.Add("@questionnaire", SqlDbType.VarChar, 50).Value = "(1)" + cbQuestion1.Checked + " " + "(2)" + cbQuestion2.Checked;
    cmd.Parameters.Add("@symptoms", SqlDbType.VarChar, 50).Value = item.ToString();
    cmd.Parameters.Add("@date", SqlDbType.DateTime).Value = DateTime.Now;
    cmd.ExecuteNonQuery();
  }