传智播客视频学习中“省市选择”程序

     最近借助于杨中科老师的ADO.net视频进行数据库学习,感觉收获很大,思路都比较清晰。在杨老师的视频中,有一个任务,是关于省市选择的,我自己做了一个,不是很完善,但是凑活算完成了,哈哈~~下面具体讲一下怎么制作的。

     首先新建一个WinForm,然后建一个数据库服务 ProCity.mdf。在Form1窗体上添加两个组合框ComboBox控件,设置其DropDown的属性为DropDownList。如下图所示:

     然后是将需要用到的数据插入到数据库中,数据源在网址http://www.programfan.com/blog/article.asp?id=28128。具体的插入过程,可以参考我的一篇博客 Visual Studio 2008中如何使用SQL建表

     接下来,对与实际的编程。首先在Program.cs中插入万能代码,视频中有的。

     在窗体加载的时候,将省的数据导入到省得组合框中。代码如下:

Form1_Load
 private void Form1_Load(object sender, EventArgs e)
{

string cnn_char = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ProCity.mdf;Integrated Security=True;User Instance=True";
using (SqlConnection conn = new SqlConnection(cnn_char))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText
= "Select * from promary";
using (SqlDataReader read = cmd.ExecuteReader())
{
while (read.Read())
{
string Proname = read.GetString(read.GetOrdinal("proName"));
cboPro.Items.Add(Proname);
}

}

}
}
}

ProCity.mdf只是我自己建的数据库服务的名称,这个需要根据自己的实际情况改。

   接下来要写对省的组合框写一个SelectedIndexChanged事件,代码如下:

  

SelectedIndexChanged
private void cboPro_SelectedIndexChanged(object sender, EventArgs e)
{

cboCity.Items.Clear();
string cnn_char = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ProCity.mdf;Integrated Security=True;User Instance=True";
using (SqlConnection conn = new SqlConnection(cnn_char))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
int proId;
cmd.CommandText
= "Select proID from promary where proName=@name";

cmd.Parameters.Clear();
cmd.Parameters.Add(
new SqlParameter("name", cboPro.SelectedItem));
using (SqlDataReader read = cmd.ExecuteReader())
{
read.Read();
proId
=read.GetInt32(read.GetOrdinal("proID"));
}
cmd.CommandText
= "Select cityName from city where proID=@id";
cmd.Parameters.Clear();
cmd.Parameters.Add(
new SqlParameter("id", proId));
using (SqlDataReader read = cmd.ExecuteReader())
{
while (read.Read())
{
string cityname =read.GetString(read.GetOrdinal("cityName"));
cboCity.Items.Add(cityname);
}
}

}

运行之后,就能进行选择了。有些具体的细节,可能没有描述好,表的建立和数据的插入,都是按照前面的一个省市数据库网站上的代码实现的。

posted @ 2011-08-24 20:46  langren919  阅读(375)  评论(1编辑  收藏  举报