C# 使用复选框列表ASP.net网站从数据库中搜索数据

C# 使用复选框列表ASP.net网站从数据库中搜索数据,c#,asp.net,sql-server,checkboxlist,C#,Asp.net,Sql Server,Checkboxlist,我在SQL数据库中的一个表中填充了复选框列表,我想根据选中的复选框列表值,从与第一个表相关的另一个表生成SQL查询返回结果。问题是它不能正常工作,我认为查询需要包括所有选定的值,而不是一个。 这是我的密码:提前谢谢你的帮助 SqlCommand cmd = new SqlCommand("select DS.DiseaseID, D.DiseaseName from DiseasesSymptoms DS inner join Diseases D on DS.DiseaseID = D.Di

我在SQL数据库中的一个表中填充了复选框列表,我想根据选中的复选框列表值,从与第一个表相关的另一个表生成SQL查询返回结果。问题是它不能正常工作,我认为查询需要包括所有选定的值,而不是一个。 这是我的密码:提前谢谢你的帮助

SqlCommand cmd = new SqlCommand("select DS.DiseaseID, D.DiseaseName from DiseasesSymptoms DS inner join  Diseases D on DS.DiseaseID = D.DiseaseID  where SymptomID='" + CheckBoxList1.SelectedValue + "'", con);

cmd.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();

Mohammad您缺少基本概念ExecuteOnQuery通常用于插入/更新或删除,而不是用于获取记录

SqlCommand cmd = new SqlCommand("select DS.DiseaseID, D.DiseaseName from DiseasesSymptoms DS inner join  Diseases D on DS.DiseaseID = D.DiseaseID  where SymptomID='" + CheckBoxList1.SelectedValue + "'", con);


SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();

您应该了解SQL注入攻击,现在您的代码非常容易受到SQL注入攻击