我刚开始学c#,问一个初级的问题:
我想做两个DropDownList,内容都在数据库中读取。第二个下拉框的选项要以第一个为前提。比如说,第一个DropDownList 是省份选项,第二个DropDownList 是县市选项,只有选择了第一个才能生成第二个。我开始的想法是 ,先读取第一个DropDownList 选中的值,然后将这个值用在第二个DropDownList 的查找语句中。
string Province=DropDownList1.SelectedItem.Text.ToString();
string strQuery2 = "SELECT myCity FROM area WHERE myProvince="+Province;
SqlDataAdapter myAdapter1 = new SqlDataAdapter(strQuery2, myConnection);
这样不行的话,请教一下应该怎么实现呢?

解决方案 »

  1.   

    string strQuery2 = "SELECT myCity FROM area WHERE myProvince="+Province;
    这个有错
    应该这样写string strQuery2 =string.Format( "SELECT myCity FROM area WHERE '{0}'",Province);
    因为SQL的字符串要有'',懂了吧
      

  2.   

    string strQuery2 =string.Format( "SELECT myCity FROM area WHERE myProvince='{0}'",Province);
      

  3.   

    处理DropDownList1的下拉列表改变事件DropDownList1_SelectedIndexChanged事件,思路基本和你想的一样,但我觉得在第二个表中对应的应该是省份的ID号吧,不应该是省份名称,所以,如果是ID的话,那么你就应该在给第一个DropDownList1加裁数据的时候指定这样两个属性:
    DropDownList1.DataTextField = "显示的字段名name";
    DropDownList1.DataValueField = "绑定的ID号";然后在处理DropDownList1_SelectedIndexChanged事件时取出ID号用于sql语句的查询条件:
    string id = DropDownList1.SelectedValue;
    string sql="SELECT myCity FROM area WHERE myProvinceId="+id;
    如果你的第二个表中确实就是省份名称,那你的思路就没有错了,不过sql语句可能有点问题
    string strQuery2 = "SELECT myCity FROM area WHERE myProvince='"+Province+"'";希望对你有帮助!
      

  4.   

    string strQuery2 = "SELECT myCity FROM area WHERE myProvince='"+Province+"'"