全国省市选择
省市选择练习题:
界面设计:
当选择省后相应的省里面的市从数据库中读出。
具体实现代码为:
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 using System.Data.SqlClient; 10 using System.Data.Sql; 11 using System.Configuration; 12 13 namespace 省市数据库 14 { 15 public partial class 省市 : Form 16 { 17 public 省市() 18 { 19 InitializeComponent(); 20 } 21 22 private void 省市_Load(object sender, EventArgs e) 23 { 24 // string strconn = @"Data Source=.\SQLEXPRESS;AttachDbFilename=F:\学习\C#\练习C#时的代码\ado.net\省市数据库\SS.mdf;Integrated Security=True;User Instance=True"; 25 string strconn = ConfigurationManager.ConnectionStrings["SS"].ConnectionString;//从app.config文件中读取数据库连接字符串 26 using (SqlConnection conn=new SqlConnection (strconn)) 27 { 28 conn.Open(); 29 string selectYuju="select * from promary"; 30 using (SqlCommand cmd = new SqlCommand(selectYuju,conn)) 31 { 32 SqlDataReader dr = cmd.ExecuteReader(); 33 while (dr.Read()) 34 { 35 // string PromaryName = dr.GetString(dr.GetOrdinal("proName")); 36 ProItem item = new ProItem();//创建一个对象,对象中两个字段对应省的名字和省的ID 37 item.proName = dr.GetString(dr.GetOrdinal("proName")); 38 item.proID = dr.GetInt32(dr.GetOrdinal ("proID")); 39 cmd省.Items.Add(item);//将创建的对象添加到comboBox控件中,在这里需要修改一下该comboBox控件的一个属性,将 40 //属性中的DisplayMemeber设置为proName 41 42 } 43 } 44 } 45 } 46 private void cmd省_SelectedIndexChanged(object sender, EventArgs e) 47 { 48 cmd市.Items.Clear(); 49 ProItem selectedItem = (ProItem)cmd省.SelectedItem; 50 int selectedproID=selectedItem.proID; 51 // string strconn = @"Data Source=.\SQLEXPRESS;AttachDbFilename=F:\学习\C#\练习C#时的代码\ado.net\省市数据库\SS.mdf;Integrated Security=True;User Instance=True"; 52 string strconn = ConfigurationManager.ConnectionStrings["SS"].ConnectionString; 53 using (SqlConnection conn = new SqlConnection(strconn)) 54 { 55 conn.Open(); 56 string selectYuJu = "select cityName from city where proID=@proid"; 57 using (SqlCommand cmd = new SqlCommand(selectYuJu, conn)) 58 { 59 cmd.Parameters.Add(new SqlParameter("proid", selectedproID)); 60 SqlDataReader dr=cmd.ExecuteReader (); 61 while (dr.Read()) 62 { 63 cmd市.Items.Add(dr.GetString (dr.GetOrdinal ("cityName"))); 64 } 65 } 66 67 } 68 } 69 70 private void cmd市_SelectedIndexChanged(object sender, EventArgs e) 71 { 72 ProItem p1 = (ProItem)cmd省.SelectedItem; 73 string sheng= p1.proName; 74 string shi = (string)cmd市.SelectedItem; 75 MessageBox.Show(sheng +shi ); 76 } 77 78 } 79 public class ProItem 80 { 81 public int proID { get; set; } 82 public string proName { get; set; } 83 84 } 85 }
配置文件中的代码为:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings > <add name="SS" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=F:\学习\C#\练习C#时的代码\ado.net\省市数据库\SS.mdf;Integrated Security=True;User Instance=True"/> </connectionStrings> </configuration>
运行结果为: