兰色精灵 发表于 2015-1-16 22:58:59

ASP教程之一个通用数据库显现程序

asp,jsp,php是web开发的三大技术,asp简单易用且有microsoft做靠山,jsp功能强大是因为有java支持,php则开源跨平台.在国内,asp应用范围最广,jsp发展势头最猛,php则处于劣势.这可能与公司的支持以及技术的培训有关.程序|数据|数据库|显现阿余常常写一些数据库相干的程序,固然离不开显现库中的数据了,说假话,做如许的程序真是无聊啊,以是,阿余就想写个函数,一个通用的数据库显现函数.请求以下:

1.能显现指定的字段,固然,字段名和显现的笔墨能够纷歧样.
2.能同时按多个字段举行查询,撑持含混和准确两种查询体例.
3.有横向分列和纵向分列字段两种显现体例.
4.能主动分页.
5.能设定每页显现几笔记录.好啦,请求年夜至就是如许了.依据这个请求,阿余写了上面的函数.
实践上,这里阿余写了两个函数.一个是TABDISP(),用于显现一个指定表中的内容.另有一个是ER()一个小小的毛病处置函数.
这个函数有5个参数(真够多的).而且各个参数都要输出数据,不克不及是空缺,否则会堕落的.
1(TAB),要挪用的表名.
2(DISPFILD),要显现表中的哪一些字段,如字段名和要显现的字符纷歧样用<分开.好比某一个字段名为:IMG,但要在页面上显现为:图片,那末,就写为IMG<图片,假如有多个字段,各字段间用“,”分开,唉,老声长谈.
3(FINDFILD),要按哪些字段举行查询,字段名和要显现的字符间用<分开.
4(PAGEN),每页显现几笔记录.
5(FH),显现的偏向.当为S时纵向显现.为H时横向显现.
函数的前往值,当没有堕落的时分,前往值为真,不然为假.
这个函数中没有包含毗连到数据库的部分.以是要本人毗连到库.别的,为了反复使用.能够把这个函数专门用一个文件来保留,然后在必要的时分包括这个文件.
看上面的函数:(不要不看完,最初我举有使用的例子)

<%
以下界说一个显现表格的函数TABDISP(),参数TAB,被显现的表名,DISPFILD,要显现的字段,FINDFILD,查询字段,PAGEN,每页显现数目,fh,显现的偏向
如显现乐成,前往值为真,不乐成,前往值为假.
多个字段间用,分开
查询字段必定要包括在显现字段中.
如字段名与要显现的称号纷歧样,用<分开,后面是字段名,前面是显现的名字,而要举行搜刮的字段则必定要用<分开要字段名和显现字符
FH显现偏向为"H"时作横向显现,为"S"时作纵向显现辨别巨细写
FUNCTIONTABDISP(TAB,DISPFILD,FINDFILD,PAGEN,FH)
OnErrorResumeNext
IFDISPFILD=""THENDISPFILD="*"
IFPAGEN=""THENPAGEN=15
DISPFILD1=DISPFILD&","
findfild1=findfild&","

dimfindl(10),findr(10)
i1=1
dowhileinstr(findfild1,",")0
star=instr(findfild1,",")
findl(i1)=left(findfild1,star-1)
findr(i1)=findl(i1)
fildbak=findl(i1)
findl(i1)=left(fildbak,instr(fildbak,"<")-1)
findr(i1)=right(fildbak,len(fildbak)-instr(fildbak,"<"))
findfild1=right(findfild1,len(findfild1)-star)
i1=i1+1
loop

Response.Write"<tableborder=0width=100%cellspacing=0><tr><formmethod=GET>"
Response.Write"<TD>"width=50%
IFSESSION("FLMENULBUP")""THEN
Response.Write"以后栏目:<AHREF=FLMEN.ASP?MENULB="&SESSION("FLMENULBUP")&">"&MID(SESSION("FLMENULBUP"),4,200)&"</A>"
ENDIF
IFSESSION("flmenulb")SESSION("FLMENULBUP")THEN
Response.Write">><AHREF=FLMEN.ASP?menulb="&SESSION("FLMENULBUP")&"&LB="&SESSION("flmenulb")&">"&MID(SESSION("flmenulb"),4,200)&"</A>"
ENDIF
Response.Write"</TD><tdalign=right></td><tdalign=right><tableborder=0cellspacing=0cellpadding=0>"
Response.Write"<tr><tdrowspan=2><imgsrc=http://www.163design.net/a/s/img/SEARCH.GIFwidth=50></td>"
fori3=1toi1-1
Response.Write"<td>"&findr(i3)&":</td>"
next
Response.Write"</tr><tr>"<td></td>
fori2=1toi1-1
Response.Write"<td><inputtype=textname=key_word"&i2&"size=8value=></td>"
next

Response.Write"<tr></table></td><tdwidth=20%><inputtype=checkboxname=find_frvalue=yes>准确<inputtype=submitvalue=入手下手name=B_FIND></td>"
Response.Write"</form></tr></table>"
find_fr=request("find_fr")
TJ=""
urllr="&find_fr="&find_fr
findlrdisp=""
FORI3=1TOI1-1
TJ1=request("KEY_WORD"&I3)
urllr=urllr&"&key_word"&i3&"="&tj1
IFTJ1=FINDR(I3)ORTJ1=""THEN
TJ1=""
ELSE
iffind_fr"yes"then
findlrdisp=findlrdisp&findr(i3)&"包括“"&TJ1&"” "
tj1="AND"&findL(I3)&"like%"&TRIM(TJ1)&"%"
else
findlrdisp=findlrdisp&findr(i3)&"是“"&TJ1&"” "
tj1="AND"&FINDL(I3)&"="&TRIM(TJ1)&""
endif
ENDIF
TJ=TJ&TJ1
IFTJ=""THEN
TOPSN="TOP300"
ELSE
TOPSN=""
ENDIF
NEXT

dimfild(35),dispfil(35),dispfildlr
dispfildlr=""
i=1
dispfild1=dispfild1
dowhileinstr(dispfild1,",")0
star=instr(dispfild1,",")
fild(i)=left(dispfild1,star-1)
dispfil(i)=fild(i)
ifinstr(fild(i),"</p>缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。

冷月葬花魂 发表于 2015-1-20 07:09:15

我想问如何掌握学习节奏(先学什么再学什么)最好详细点?

小妖女 发表于 2015-1-25 23:34:20

我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.

不帅 发表于 2015-2-4 13:02:20

跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组

精灵巫婆 发表于 2015-2-9 22:50:56

下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。

老尸 发表于 2015-3-9 20:20:36

不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍

再见西城 发表于 2015-3-17 00:27:37

如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。

谁可相欹 发表于 2015-3-23 09:46:49

还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
页: [1]
查看完整版本: ASP教程之一个通用数据库显现程序