A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 许波 中级黑马   /  2012-10-15 11:09  /  1929 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

代码如下
  1. private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             using (SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\ss.mdf;Integrated Security=True;User Instance=True"))
  4.             {
  5.                 conn.Open();
  6.                 using (SqlCommand cmd = conn.CreateCommand())
  7.                 {
  8.                     cmd.CommandText = "select * from promary";
  9.                     using (SqlDataReader dataReader = cmd.ExecuteReader())
  10.                     {
  11.                         while (dataReader.Read())
  12.                         {
  13.                             province item = new province();
  14.                             item.id = dataReader.GetInt32(dataReader.GetOrdinal("proID"));
  15.                             item.name = dataReader.GetString(dataReader.GetOrdinal("proName"));
  16.                             cmbsheng.Items.Add(item);
  17.                         }
  18.                     }
  19.                 }
  20.             }
  21.         }
复制代码
  1. class province
  2.         {
  3.             public string name { get; set; }
  4.             public int id { get; set; }
  5.         }
复制代码
  1. private void cmbsheng_SelectedIndexChanged(object sender, EventArgs e)
  2.         {
  3.             province item = (province)cmbsheng.SelectedItem;
  4.             int proID = item.id;
  5.             using (SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\ss.mdf;Integrated Security=True;User Instance=True"))
  6.             {
  7.                 conn.Open();
  8.                 using (SqlCommand cmd = conn.CreateCommand())
  9.                 {
  10.                     cmd.CommandText = "select * from city where proID=@proID";
  11.                     cmd.Parameters.Add(new SqlParameter("proID", proID));
  12.                     using (SqlDataReader dataReader = cmd.ExecuteReader())
  13.                     {
  14.                         while (dataReader.Read())
  15.                         {
  16.                             string cityName = dataReader.GetString(dataReader.GetOrdinal("cityName"));
  17.                             cmbshi.Items.Add(cityName);                           
  18.                         }
  19.                     }
  20.                 }
  21.             }
  22.         }
复制代码
数据库问题,就是运行后出现个问题,不明白怎么解决,

选择一个省后再选择另外一个省,市的下拉菜单没有重置,求解决...

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

3 个回复

倒序浏览
选择省的下拉选择改变 事件 处理程序里,也就是你给的第三坨代码的11-12行之间加上下面一句。
  1. cmbshi.Items.Clear();//清除上一次的
复制代码
祝你成功!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
....坨..同上,沒有認真看視頻哦,我記得這句話特別有講過
回复 使用道具 举报
你在省选择发生变化的事件里监听一下,省列表发生变化后要先删除市列表里的旧数据,再加入新的数据。注意删的时候有个顺序问题,要从后往前删,否则会造成删得不干净的问题!希望能帮到你。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马