诗闵

努力 坚持 终有回报

导航

C# comboBox实现省市两级联动(winform)

新建一个win form应用程序,拖两comboBox控件。数据库见前一篇文章。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace 省市
{
publicpartialclass Form1 : Form
{
public Form1()
{
InitializeComponent();
}
 private void Form1_Load(object sender, EventArgs e)
        {
            using (SqlConnection conn = new SqlConnection("server=.;database=DBPromary;user id=sa;password=123456"))
            {
                conn.Open();

                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "select proName from promary";

                    using (SqlDataReader reader = cmd.ExecuteReader())
                    {

                        while (reader.Read())
                        {
                            string name = reader.GetString(reader.GetOrdinal("proName"));

                            cb1.Items.Add(name);
                        }
                    }
                }
            }

        }



privatevoid comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
cb2.Items.Clear();
using (SqlConnection conn =new SqlConnection("server=.;database=DBPromary;user id=sa;password=123456"))
{
conn.Open();

using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText
="select cityName from city,promary where city.proID=promary.proID and promary.proName=@pname";
cmd.Parameters.Add(
new SqlParameter("pname",cb1.SelectedItem));

using (SqlDataReader reader = cmd.ExecuteReader())
{

while (reader.Read())
{
string name = reader.GetString(reader.GetOrdinal("cityName"));

cb2.Items.Add(name);
}
}
}
}

}


}
}

posted on 2011-05-26 18:45  诗闵  阅读(10469)  评论(2编辑  收藏  举报