给你一些思路:
1、省市县的数据写到数据库中。每条数据会有一个父ID(上级ID)。
2、在页面上省变动后,查询市的数据以省的ID作为条件,县也一样,以市 的ID为条件。
第二种方法,
由于全国的这些基本上是固定的,一般变动比较少,这可以把这个数据写到JS里面,通过JS来实现。这个加载会快一些。这些数据可以到国家统计局的网站去下载。
数据表:
CREATE TABLE CateTable (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[CateName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[RootID] [int] NOT NULL ,
[ParentID] [int] NOT NULL
)
GO
存储过程:
CREATE PROCEDURE CateTable_GetList AS
BEGIN
Select
CateID,
CateName,
RootID,
ParentID
From
CateTable
Order By
CateID,RootID,ParentID
END
代码:
private void MainForm_Load(object sender, EventArgs e)
{
//从数据库中读取数据
SqlConnection con = new SqlConnection(ConnStringConStr);
SqlCommand cmd = new SqlCommand("CateTable_GetList", con);
cmdCommandType = CommandTypeStoredProcedure;
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
try
{
sdaFill(ds);
}
catch
{
}
finally
{
cmd = null;
conClose();
}
//往TreeView中添加树节点
//添加根节点
TreeNode tn = new TreeNode();
tnText = "种类";
tnName = "0";//Name作为ID
tnTag = "0";//Tag作为RootID
tnImageIndex = 0;
tnSelectedImageIndex = 0;
tvNodesAdd(tn);//该TreeView命名为tv
tvSelectedNode = tvTopNode;
//把其他节点加上去
if (ds != null)
{
foreach (DataRow dr in dsTables[0]Rows)
{
tn = new TreeNode();
tnText = dr["CateName"]ToString();
tnName = dr["CateID"]ToString();//Name作为CateID
tnTag = dr["RootID"]ToString();//Tag作为RootID
tnImageIndex = 1;
tnSelectedImageIndex = 1;
//判断是否为主节点
if (dr["CateID"]ToString() == dr["RootID"]ToString())
{
//主节点
tvSelectedNode = tvTopNode;
}
else
{
//其他节点
if (tvSelectedNodeName != dr["ParentID"]ToString())
{
TreeNode[] tn_temp = tvNodesFind(dr["ParentID"]ToString(), true);
if (tn_tempLength > 0)
{
tvSelectedNode = tn_temp[0];
}
}
}
tvSelectedNodeNodesAdd(tn);
}
tvExpandAll();//展开TreeView
tvSelectedNode = tvTopNode;
}
}
(1)要求查找”中国河北省“的所有县名。该如何查找,写出SQL语句
SELECT
县郡表县郡名
FROM
国家表 JOIN 省市表 ON ( 国家表国家编号 = 省市表国家编号 )
JOIN 县郡表 ON ( 县郡表省市编号 = 省市表省市编号 )
WHERE
国家表国名 = '中国' AND 省市表省市名 = '河北'
(2)在功能不变的前提下,将上述三表合并成一个表,该如何设计?在你的设计中,实现上述查找的SQL语句该如何写
CREATE TABLE 国省县 (
国名:vARCHAR(50),
省市名:varchar(50),
县郡名:VarChar(50)
)
SELECT
县郡名
FROM
国省县
WHERE
国名 = '中国' AND 省市名 = '河北'
数据库的地区数据模块的数据以模型形式存在 1、概念模型(场模型:用于描述空间中连续分布的现象;对象模型:用于描述各种空间地物;网路模型:可以模拟现实世界中的各种网络)
2、逻辑数据模型(矢量数据模型,栅格数据模型和面向对象数据模型等)
3、物理数据模型(概念数据模型在计算机内部具体的存储形式和 *** 作机制,即在物理磁盘上如何存放和存取,是系统抽象的最底层。需要查询的数据分类到模型里去查找。
<script type="text/javascript" src="cityjs"></script>
<select name="province" onChange="set_city(this, thisformcity);">
<option value="0">选择省</option>
<option value="北京市">北京市</option>
<option value="上海市">上海市</option>
<option value="天津市">天津市</option>
<option value="重庆市">重庆市</option>
<option value="河北省">河北省</option>
<option value="山西省">山西省</option>
</select>
<select name="city" id="citys" >
<option value="0">选择城市</option>
</select>
cityjs文件:
cities = new Object();
cities['北京市']=new Array('北京市区', '北京市辖区');
cities['上海市']=new Array('上海市区', '上海市辖区');
cities['天津市']=new Array('天津市区', '天津市辖区');
cities['重庆市']=new Array('重庆市区', '重庆市辖区');
cities['中国台湾']=new Array('中国台湾');
cities['中国香港']=new Array('中国香港');
cities['中国澳门']=new Array('中国澳门');
cities['河北省']=new Array('石家庄', '张家口市', '承德市', '秦皇岛市', '唐山市', '廊坊市', '保定市', '沧州市', '衡水市', '邢台市', '邯郸市');
cities['山西省']=new Array('太原市', '大同市', '朔州市', '阳泉市', '长治市', '晋城市', '忻州地区', '吕梁地区', '晋中市', '临汾地区', '运城地区');
cities['辽宁省']=new Array('沈阳市', '朝阳市', '阜新市', '铁岭市', '抚顺市', '本溪市', '辽阳市', '鞍山市', '丹东市', '大连市', '营口市', '盘锦市', '锦州市', '葫芦岛市');
cities['吉林省']=new Array('长春市', '白城市', '松原市', '吉林市', '四平市', '辽源市', '通化市', '白山市', '延边朝鲜族自治州');
function set_city(province, city)
{
var pv, cv;
var i, ii;
pv=provincevalue;
cv=cityvalue;
citylength=1;
if(pv=='0') return;
if(typeof(cities[pv])=='undefined') return;
for(i=0; i<cities[pv]length; i++)
{ ii = i+1;
cityoptions[ii] = new Option();
cityoptions[ii]text = cities[pv][i];
cityoptions[ii]value = cities[pv][i];
}}
function cha(){
if (documentmyformu_usernamevalue=="")
{
alert("用户名不能为空!");
}
else
{var str_cha = documentmyformu_usernamevalue;
locationhref="chaaspxstr=" + str_cha;
}}
由于百度限制了输入字数,所以上面的省市我都没写全,你自己去修改就可以了
以上就是关于省市县三级联动菜单,JS全国省市县(区)联动,怎样连接到数据库啊全部的内容,包括:省市县三级联动菜单,JS全国省市县(区)联动,怎样连接到数据库啊、怎么用TreeView绑定数据库里的省市县数据、数据库设计 国家表 国家编号:char(3) 国名:vARCHAR(50) 省市表 省市编号:char(3) 省市名:varchar(50)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)