仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 453|回复: 6
打印 上一主题 下一主题

[学习教程] ASP网页设计三级下拉框连动的数据库版

[复制链接]
分手快乐 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:29:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;三级下拉框连动

数据库:
location
表1loaction地点地表
字段
loactionid
loactionname名字
表2district地点的区域表
字段
locationid
districtid
districtname
表3village地点的县区表
字段
districtid
villageid
villagename

<%OptionExplicit%>
<html>
<head>
<title>List</title>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<%
dimconn
dimrs
dimsql
dimcount
dimrs1
dimsql1
dimrs2
dimsql2
dimcount2



setconn=server.createobject("adodb.connection")
conn.open"provider=sqloledb;datasource=192.168.0.33;uid=sa;pwd=;database=location;"


sql="select*fromdistrictorderbylocationidasc"
setrs=conn.execute(sql)
%>
<scriptlanguage="JavaScript">
varonecount;
onecount=0;
subcat=newArray();
<%
count=0
dowhilenotrs.eof
%>
subcat[<%=count%>]=newArray("<%=trim(rs("districtname"))%>","<%=trim(rs("locationid"))%>","<%=trim(rs("districtid"))%>");
<%
count=count+1
rs.movenext
loop
rs.close
setrs=nothing
%>
onecount=<%=count%>;

functionchangelocation(locationid)
{
document.myform.smalllocation.length=0;

varlocationid=locationid;
vari;
document.myform.smalllocation.options[0]=newOption(==所选乡村的区域==,);
for(i=0;i<onecount;i++)
{
if(subcat[i][1]==locationid)
{
document.myform.smalllocation.options[document.myform.smalllocation.length]=newOption(subcat[i][0],subcat[i][2]);
}
}

}
</script>


<%sql2="select*fromvillageorderbydistrictidasc"
setrs2=conn.execute(sql2)
%>
<scriptlanguage="JavaScript">
varonecount2;
onecount2=0;
subcat2=newArray();
<%
count2=0
dowhilenotrs2.eof
%>
subcat2[<%=count2%>]=newArray("<%=trim(rs2("villagename"))%>","<%=trim(rs2("districtid"))%>","<%=trim(rs2("villageid"))%>");
<%
count2=count2+1
rs2.movenext
loop
rs2.close
setrs2=nothing
%>
onecount2=<%=count2%>;

functionchangelocation2(villageid)
{
document.myform.village.length=0;

varvillageid=villageid;
varj;
document.myform.village.options[0]=newOption(==所选区域的县区==,);
for(j=0;j<onecount2;j++)
{
if(subcat2[j][1]==villageid)
{
document.myform.village.options[document.myform.village.length]=newOption(subcat2[j][0],subcat2[j][2]);
}
}

}
</script>



</head>
<body>
<formname="myform"method="post">
标题:<inputtype="text"name="T2"size="20">

<inputtype="text"name="T3"size="20">

分类:<selectname="biglocation"size="1">
<optionselected>请选择你地点的省分</option>
<%

sql1="select*fromlocationorderbylocationnameasc"
setrs1=conn.Execute(sql1)
dowhilenotrs1.eof
%>
<optionvalue="<%=trim(rs1("locationid"))%>"><%=trim(rs1("locationname"))%></option>

<%
rs1.movenext
loop
rs1.close
setrs1=nothing
conn.Close
setconn=nothing
%>
</select><selectname="smalllocation">
<optionselectedvalue="">==一切区域==</option>
</select><selectname="village"size="1">
<optionselected>==一切县区==</option>
</select>


关头词:<inputtype="text"name="T4"size="20">

内容:<textarearows="9"name="S1"cols="51"></textarea>
</form>

</body>
</html>
缺点:正版成本价格贵(盗版就不说了)、不够安全,大多数服务器用windows系统,没有linux安全
透明 该用户已被删除
沙发
发表于 2015-1-19 07:50:52 | 只看该作者
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
板凳
发表于 2015-1-24 11:25:15 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
小魔女 该用户已被删除
地板
发表于 2015-2-1 08:35:01 | 只看该作者
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
再见西城 该用户已被删除
5#
发表于 2015-3-6 15:10:26 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
灵魂腐蚀 该用户已被删除
6#
发表于 2015-3-13 03:09:31 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
admin 该用户已被删除
7#
发表于 2015-3-20 11:10:40 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 05:07

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表