仓酷云

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

[学习教程] ASP网页编程之利用表单汇合创建SQL语句2

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

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

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

x
对于中小型web应用来说,php有很强的竞争力,linux+apache+mysql+php(lamp)的组合几乎可以胜任绝大多数网站的解决方案,对于大型应用来讲,对于系统架构要求更高,需要有成熟的框架支持,jsp的struts是个不错的框架,国内介绍它的资料也非常多,应用逐渐广泛起来。asp就不用说了,汇合|语句更复杂的办法


因而可知,我们必要一种复杂的办法,可以依据任何表单创建SQL语句,而不论表单中有几字段,也不论字段范例怎样。要做到这点,我们要使用ASP内置的request.form汇合。经由在这个汇合中轮回,我们可以把每一个表单字段的称号和它的值一同提掏出来。列表B是这类事情体例的一个复杂版本。在您检察代码时,请注重:为了这个手艺可以失效,我们的HTML字段名必需与数据库表中的字段名不异。
列表B:利用request.form来轻松创建SQL字符串。

<%
iStr="insertintouData"
vStr="values("
nStr="("

在表单汇合中轮回,并创建起SQL语句的构成部分
foreachxinrequest.form
创建字段名列表
nStr=nStr&x&","
创建字段值列表
ifuCase(x)="AGE"then
vStr=vStr&request.form(x)&","
else
vStr=vStr&""&request.form(x)&","
endif
next

把开头的","从我们创建的字符串中往失落
vStr=left(vStr,len(vStr)-2)&")"
nStr=left(nStr,len(nStr)-2)&")"

把SQL语句组装起来
iStr=iStr&nStr&vStr

iftrim(request("fName"))>>""then
response.write(iStr&">BR>")
else
%>

<html>
<body>
<formname=fmethod=postaction="列表2.asp">
Gimmeyour:<br>
FirstName:<inputtype=textname="fName"><br>
LastName:<inputtype=textname="lName"><br>
Age:<inputtype=textname="age"><br>
<inputtype="submit"value="Submit">
</form>
</body>
</html>

<%
endif
%>

您大概注重的第一件事是,这段代码要比第一段示例中的代码长一点。可是,请记着,这段代码可以处置任何数目的字段。因而,关于年夜的表单,利用这类手艺十分无效。

您应该注重的第二件事是:我们仍旧必需晓得一个字段-age字段的称号和范例。因而,我们必要一个办法,把字段范例告知ASP代码,如许才干创建符合的SQL语句。

我们在这里利用的办理计划是:把数据范例嵌进到每一个HTML字段名里。比方,数值型字段的称号以字符串num_入手下手。如许,要把age字段名改成num_age。(字符型和文本型字段不必更名,如许会缺省地把它们放在括号中。)列表C显现了这个办理计划的实践使用。

列表C:把字段范例嵌进到HTML字段名中。


<%functionbuildSQLInsert(targetTable)
iStr="insertinto"&targetTable&""
vStr="values("nStr="("
在表单汇合中轮回,并创建起SQL语句的构成部分
foreachxinrequest.form
fieldName=x
fieldData=replace(request.form(fieldName),"","")
typeDelimPos=inStr(fieldName,"_")
iftypeDelimPos=0then
Itsatextfield
创建字段名列表
nStr=nStr&fieldName&","
vStr=vStr&""&fieldData&","
else
是别的一种数据范例
fieldType=left(fieldName,typeDelimPos-1)
fieldName=mid(fieldName,typeDelimPos+1)
把字段名到场字段名列表中
nStr=nStr&fieldName&","
把字段范例酿成年夜写,以确保婚配
selectcaseuCase(fieldType)
case"NUM"
vStr=vStr&fieldData&","
把不明范例按文本型处置
caseelse
vStr=vStr&""&fieldData&","
endselect
endif
next

把开头的","从我们创建的字符串中往失落
vStr=left(vStr,len(vStr)-2)&")"
nStr=left(nStr,len(nStr)-2)&")"

把SQL语句组装起来
buildSQLInsert=iStr&nStr&vStr
endfunction


iftrim(request("fName"))><""then
response.write(buildSQLInsert&">BR<")
else
%>

<html>
<body>
<formname=fmethod=postaction="listing3.asp">
Gimmeyour:<br>
FirstName:<inputtype=textname="fName"><br>
LastName:<inputtype=textname="lName"><br>
Age:<inputtype=textname="num_age"><br>
<inputtype="submit"value="Submit">
</form>
</body>
</html>

<%
endif
%>


在这里,我们利用了来自列表B的部分代码,并把它们放在一个叫做buildSQLInsert的函数中。在设置完一时变量后,我们进进轮回,处置的几与之前做的一样。次要的区分是,每次进进轮回,我们要在字段称号中查找下划线(_)。假如找到下划</p>只要你想学,就没什么优缺点,上面那位大哥已经把网上的评论说了,但我认为想学哪个都一样,不然它就不可能在当今时代数字艺术方面存活到今天
莫相离 该用户已被删除
沙发
发表于 2015-1-20 08:50:27 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
只想知道 该用户已被删除
板凳
发表于 2015-1-20 19:06:34 | 只看该作者
掌握asp的特性而且一定要知道为什么。
再现理想 该用户已被删除
地板
发表于 2015-1-23 21:39:26 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
admin 该用户已被删除
5#
发表于 2015-1-24 08:40:59 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
乐观 该用户已被删除
6#
发表于 2015-1-24 15:26:01 | 只看该作者
那么,ASP.Net有哪些改进呢?
灵魂腐蚀 该用户已被删除
7#
发表于 2015-1-27 15:40:03 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
飘飘悠悠 该用户已被删除
8#
发表于 2015-1-30 09:46:42 来自手机 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
爱飞 该用户已被删除
9#
发表于 2015-1-30 16:46:04 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
柔情似水 该用户已被删除
10#
发表于 2015-2-6 14:10:45 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
飘灵儿 该用户已被删除
11#
发表于 2015-2-16 10:34:21 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
再见西城 该用户已被删除
12#
发表于 2015-3-11 23:23:08 | 只看该作者
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
活着的死人 该用户已被删除
13#
发表于 2015-3-19 16:04:06 | 只看该作者
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
简单生活 该用户已被删除
14#
发表于 2015-3-28 22:30:17 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-2 06:45

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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