省市县 — 三级联动【有刷新】

 

1、在SQL Sever 中建表

 CREATE TABLE T_Arear
(
Id INT IDENTITY PRIMARY KEY,
A_Id VARCHAR(8),
A_Name VARCHAR(16),
A_ParentId VARCHAR(8)
)
  
--添加省级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('P001','河北省','0');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('P002','河南省','0');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('P003','山西省','0');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('P004','山东省','0');

--添加河北省市级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C001','石家庄','P001');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C002','保定','P001');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C003','邯郸','P001');

--添加河南省市级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C004','郑州','P002');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C005','洛阳','P002');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C006','商丘','P002');

--添加山西省市级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C007','太原','P003');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C008','运城','P003');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C009','大同','P003');

--添加山东省市级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C010','济南','P004');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C011','青岛','P004');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C012','淄博','P004');

--添加河北省石家庄区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A001','长安区','C001');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A002','桥东区','C001');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A003','桥西区','C001');

--添加河北省保定区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A004','满城','C002');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A005','徐水','C002');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A006','阜平','C002');

--添加河北省邯郸区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A007','临漳','C003');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A008','成安','C003');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A009','大名','C003');

--添加河南省郑州区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A009','金水','C004');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A010','惠济','C004');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A012','经开区','C004');

--添加河南省洛阳区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A013','新安','C005');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A014','嵩县','C005');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A015','宜阳','C005');

--添加河南省商丘区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A016','梁园','C006');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A017','永城','C006');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A018','宁陵','C006');

--添加山西省太原区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A019','小店','C007');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A020','迎泽','C007');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A021','阳曲','C007');

--添加山西省运城区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A022','盐湖','C008');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A023','万荣','C008');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A024','闻喜','C008');

--添加山西省大同市区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A025','新荣','C009');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A026','阳高','C009');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A027','天镇','C009');


--添加山东省济南区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A028','历下','C010');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A029','天桥','C010');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A030','长清','C010');

--添加山东省青岛区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A031','崂山','C011');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A032','黄岛','C011');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A033','胶州','C011');

--添加山东淄博区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A034','张店','C012');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A035','博山','C012');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A036','桓台','C012');


 2、前台

<body>
    <form id="form1" runat="server">
    <div>
    <table>
    
    <tr>
    <td>
        <asp:DropDownList ID="ddlProvince" runat="server" 
            Xonselectedindexchanged="Dropprovince_SelectedIndexChanged" 
            AutoPostBack="True" Height="25px" 
            onselectedindexchanged="ddlProvince_SelectedIndexChanged" Width="120px">
        </asp:DropDownList>
    </td>
    <td>
        <asp:DropDownList ID="ddlCity" runat="server" AutoPostBack="True" 
            Xonselectedindexchanged="Dropcity_SelectedIndexChanged" Height="22px" 
            Width="114px" onselectedindexchanged="ddlCity_SelectedIndexChanged">
        </asp:DropDownList>
    </td>
    <td>
        <asp:DropDownList ID="ddlArear" runat="server" Height="24px" Width="123px" >
        </asp:DropDownList>
    </td>
    </tr>
    </table>
    </div>
    </form>
</body>


 

3、后台

  public partial class 省市县三级联动 : System.Web.UI.Page
    {

        
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                GetProvince();
            }
        }
        private void LoadData(string id, DropDownList ddl)
        {
            string strcon = @"Data Source=Lan-PC;Initial Catalog=News;Persist Security Info=True;User ID=sa;Password=478950";
            SqlConnection conn = new SqlConnection(strcon);
            SqlCommand cmd = conn.CreateCommand();
            cmd.CommandText = "SELECT A_Id,A_Name FROM T_Arear WHERE A_ParentId=@parentid ORDER BY A_Id";
            cmd.Parameters.AddWithValue("@parentid", id);
            SqlDataAdapter adapter = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            adapter.Fill(dt);
            cmd.Dispose();
            conn.Dispose();


            ddl.DataSource = dt;
            //指定下拉列表括要显示的字段的值
            ddl.DataTextField = "A_Name";
            //指定下拉列表括的value属性的字段的值
            ddl.DataValueField = "A_Id";
            ddl.DataBind();
            //插入默认选中项
            if (id == "0")
            {
                ListItem item = new ListItem("---请选择---", "0");
                //this.ddlProvince.Items.Add(item);
                ddl.Items.Insert(0, item);
            }
        }
        private void GetProvince()
        {
            LoadData("0", this.ddlProvince);
        }

        private int Sum(int x, int y)
        {
            int num = x + y;
            return num;
        }

        protected void ddlProvince_SelectedIndexChanged(object sender, EventArgs e)
        {
            string id = this.ddlProvince.SelectedItem.Value;
            if (id != "0")
            {
                LoadData(id, this.ddlCity);
                string selectid = this.ddlCity.SelectedItem.Value;
                LoadData(selectid, this.ddlArear);
            }
            else
            {
                ddlCity.Items.Clear();
                ddlArear.Items.Clear();
            }
        }

        protected void ddlCity_SelectedIndexChanged(object sender, EventArgs e)
        {
            string id = this.ddlCity.SelectedItem.Value;
            LoadData(id, this.ddlArear);
        }

     
    }


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
之前从网上找的三级联动都太老了,数据也都是很久之前的数据,所以自己把从国家统计局扒下来的省市三级联动数据做了整理,目前最新的三级联动,童叟无欺。大家看北京市和天津市的几个分区就知道是最新的了。 INSERT INTO `address` VALUES (1, '110000', 0, '北京市', 1); INSERT INTO `address` VALUES (2, '110100', 110000, '市辖区', 2); INSERT INTO `address` VALUES (3, '110101', 110100, '东城区', 3); INSERT INTO `address` VALUES (4, '110102', 110100, '西城区', 3); INSERT INTO `address` VALUES (5, '110105', 110100, '朝阳区', 3); INSERT INTO `address` VALUES (6, '110106', 110100, '丰台区', 3); INSERT INTO `address` VALUES (7, '110107', 110100, '石景山区', 3); INSERT INTO `address` VALUES (8, '110108', 110100, '海淀区', 3); INSERT INTO `address` VALUES (9, '110109', 110100, '门头沟区', 3); INSERT INTO `address` VALUES (10, '110111', 110100, '房山区', 3); INSERT INTO `address` VALUES (11, '110112', 110100, '通州区', 3); INSERT INTO `address` VALUES (12, '110113', 110100, '顺义区', 3); INSERT INTO `address` VALUES (13, '110114', 110100, '昌平区', 3); INSERT INTO `address` VALUES (14, '110115', 110100, '大兴区', 3); INSERT INTO `address` VALUES (15, '110116', 110100, '怀柔区', 3); INSERT INTO `address` VALUES (16, '110117', 110100, '平谷区', 3); INSERT INTO `address` VALUES (17, '110118', 110100, '密云区', 3); INSERT INTO `address` VALUES (18, '110119', 110100, '延庆区', 3); INSERT INTO `address` VALUES (19, '120000', 0, '天津市', 1); INSERT INTO `address` VALUES (20, '120100', 120000, '市辖区', 2); INSERT INTO `address` VALUES (21, '120101', 120100, '和平区', 3); INSERT INTO `address` VALUES (22, '120102', 120100, '河东区', 3); INSERT INTO `address` VALUES (23, '120103', 120100, '河西区', 3); INSERT INTO `address` VALUES (24, '120104', 120100, '南开区', 3); INSERT INTO `address` VALUES (25, '120105', 120100, '河北区', 3); INSERT INTO `address` VALUES (26, '120106', 120100, '红桥区', 3); INSERT INTO `address` VALUES (27, '120110', 120100, '东丽区', 3); INSERT INTO `address` VALUES (28, '120111', 120100, '西青区', 3); INSERT INTO `address` VALUES (29, '120112', 120100, '津南区', 3); INSERT INTO `address` VALUES (30, '120113', 120100, '北辰区', 3); INSERT INTO `address` VALUES (31, '120114', 120100, '武清区', 3); INSERT INTO `address` VALUES (32, '120115', 120100, '宝坻区', 3); INSERT INTO `address` VALUES (33, '120116', 120100, '滨海新区', 3); INSERT INTO `address` VALUES (34, '120117', 120100, '宁河区', 3); INSERT INTO `address` VALUES (35, '120118', 120100, '静海区', 3); INSERT INTO `address` VALUES (36, '120119', 120100, '蓟州区', 3);

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值