C# mysql参数传递未实现asp.net

C# mysql参数传递未实现asp.net,c#,mysql,asp.net,C#,Mysql,Asp.net,我有3个表1>疾病表[列=](疾病id,疾病名称)2>症状表[列=](症状id,症状名称)3>疾病症状[列=](疾病id,症状id) 我的网页上有一个复选框列表,其中有text=fever、value='fever'等症状,但问题是,当我将参数传递给sql stmt时,没有得到任何输出。此外,如果我传递静态参数(如果我选择传递所有可用症状),它会给我重复的疾病名称 这是我的密码: protected void Button1_Click(object sender, EventArgs e) {

我有3个表1>疾病表[列=](疾病id,疾病名称)2>症状表[列=](症状id,症状名称)3>疾病症状[列=](疾病id,症状id) 我的网页上有一个复选框列表,其中有text=fever、value='fever'等症状,但问题是,当我将参数传递给sql stmt时,没有得到任何输出。此外,如果我传递静态参数(如果我选择传递所有可用症状),它会给我重复的疾病名称

这是我的密码:

protected void Button1_Click(object sender, EventArgs e)
{
    MySqlConnection connection = new MySqlConnection(ConfigurationManager.ConnectionStrings["myconstring"].ConnectionString);
    connection.Open();
    symptons = String.Join(", ", CheckBoxList1.Items.Cast<ListItem>().Where(i => i.Selected).Select(i => i.Value).ToArray());
    Label3.Text = symptoms;
    MySqlCommand cmd = new MySqlCommand("select d.dname from disease d inner join diseasesymptom ds on ds.did = d.did inner join symptom s on s.sid = ds.sid where s.sname in (@pSymptoms)", connection);
     cmd.Parameters.AddWithValue("@pSymptoms", symptoms);
    using (MySqlDataAdapter sda = new MySqlDataAdapter())
    {
        cmd.Connection = connection;
        sda.SelectCommand = cmd;
        using (DataTable dt = new DataTable())
        {
            sda.Fill(dt);
            GridView1.DataSource = dt;
            GridView1.DataBind();
        }
    }
}

输出:如果我传递了所有参数(静态),那么我会多次获得所有可用的疾病(例如:如果疾病“d1”有两个症状,并且我选择了其中两个症状,则疾病“d1”会显示两次)

IN()
无法参数化;看完这篇文章我还是不明白
selectd.name, d.disease_id 
from Disease d
inner join DiseaseSymptom ds on ds.disease_id = d.disease_id
inner join Symptom s on s.symptom_id = ds.symptom_id
where s.name in ('Fever');