C# comboBox实现省市两级联动(winform)
时间:2011-05-26 来源:诗闵
新建一个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 省市
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
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);
}
}
}
}
}
private void 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);
}
}
}
}
}
}
}