快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

ASP应用中的应用函数

1,常常写些系统,那么一般都是从登录程序开始,每接一个系统就写一次登录,好麻烦。

干脆直接做个登录验证函数吧,对我来说,大都情况可以胜任了:)



<%
Function chk_regist(requestname,requestpwd,tablename,namefield,pwdfield,reurl)
dim cn_name,cn_pwd
cn_name=trim(request.form(""&requestname&""))
cn_pwd=trim(request.form(""&requestpwd&""))
if cn_name="" or cn_pwd="" then
response.Write("<script language=javascript>alert(""请将帐号密码填写完整,谢谢合作。"");history.go(-1)</script>")
end if
Set rs = Server.CreateObject ("ADODB.Recordset")
sql = "Select * from "&tablename&" where "&namefield&"=\\\'"&cn_name&"\\\'"
rs.open sql,conn,1,1
if rs.eof then
response.Write("<script language=javascript>alert(""没有该会员ID,请确认有没有被申请。"");history.go(-1)</script>")
else
if rs(""&pwdfield&"")=cn_pwd then
session("cn_name")=rs(""&namefield&"")
response.Redirect(reurl)
else
response.Write("<script language=javascript>alert(""提醒,您的帐号和密码是不吻合。注重数字和大小写。"");history.go(-1)</script>")
end if
end if
rs.close
Set rs = Nothing
End Function
%>



参数说明:
chk_regist(requestname,requestpwd,tablename,namefield,pwdfield,reurl)

requestname 为接受HTML页中输入名称的INPUT控件名
requestpwd 为接受HTML页中输入密码的INPUT控件名
tablename 为数据库中保存注册信息的表名
namefield 为该信息表中存放用户名称的字段名
pwdfield 为该信息表中存放用户密码的字段名
reurl 为登录准确后跳转的页

引用示例如下:



<%
call chk_regist("b_name","b_pwd","cn_admin","cn_name","cn_pwd","admin.asp")
%>

2,常常有可能对某个事物进行当前状态的判定,一般即做一字段(数值类型,默认值为0)
通过对该字段值的修改达到状态切换的效果。那么,我又做了个函数,让自己轻松轻松。



<%
Function pvouch(tablename,fildname,autoidname,indexid)
dim fildvalue
Set rs = Server.CreateObject ("ADODB.Recordset")
sql = "Select * from "&tablename&" where "&autoidname&"="&indexid
rs.Open sql,conn,2,3
fildvalue=rs(""&fildname&"")
if fildvalue=0 then
fildvalue=1
else
fildvalue=0
end if
rs(""&fildname&"")=fildvalue
rs.update
rs.close
Set rs = Nothing
End Function
%>



参数说明:
pvouch(tablename,fildname,autoidname,indexid)

tablename 该事物所在数据库中的表名
fildname 该事物用以表明状态的字段名(字段类型是数值型)
autoidname 在该表中的自动编号名
indexid 用以修改状态的对应自动编号的值

引用示例如下:


<%
dowhat=request.QueryString("dowhat")
p_id=cint(request.QueryString("p_id"))

if dowhat="tj" and p_id<>"" then
call pvouch("cn_products","p_vouch","p_id",p_id)
end if
%>

<%if rs("p_vouch")=0 then%>
<a href=showpro.asp?dowhat=tj&p_id=<%=rs("p_id")%>>推荐</a>
<%else%>
<a href=showpro.asp?dowhat=tj&p_id=<%=rs("p_id")%>>取消推荐</a>
<%end if%>


3,为很多中小企业写站点,一般产品展示是个大项目,那么做成的页面也就不同。
要不就是横排来几个,要不就是竖排来几个,甚至全站要翻来覆去的搞个好几次,麻烦也很累。
索性写个函数能缓解一下,于是就成了下面



<%
function showpros(tablename,topnum,fildname,loopnum,typenum)
Set rs = Server.CreateObject ("ADODB.Recordset")
sql = "Select top "&topnum&" * from "&tablename
rs.Open sql,conn,1,1
if rs.eof and rs.bof then
response.Write("暂时无该记录")
else
response.Write("<table width=\\\'100%\\\'>")
for i=1 to rs.recordcount
if (i mod loopnum=1) then
response.write"<tr>"
end if
select case typenum
case "1"
response.Write("<td><table width=\\\'100%\\\'><tr><td bgcolor=red width=\\\'50%\\\'>")
response.Write(rs(""&fildname&""))
response.Write("</td><td bgcolor=black>")
response.Write("方法1之"&i&"记录")\\\'此处的“方法1”可以替换显示为其余字段的值
response.Write("</td></tr>")\\\'假如字段比较多,继承添加新个表格行来显示
response.Write("</table></td>")
case "2"
response.Write("<td><table width=\\\'100%\\\'><tr><td bgcolor=red>")
response.Write(rs(""&fildname&""))
response.Write("</td></tr>")
response.Write("<tr><td bgcolor=black>")
response.Write("方法2之"&i&"记录")
response.Write("</td></tr>")
response.Write("</table></td>")
end select
if (i mod loopnum=0) then
response.write"</tr>"
end if
rs.movenext
next
response.Write("</table>")
end if
rs.close
Set rs = Nothing
end function
%>



参数说明:showpros(tablename,topnum,fildname,loopnum,typenum)

whichpro为选择何类型的产品种类
topnum表示提取多少条记录
fildname表示调试显示的字段,详细应用的时候可以省去该参数,在函数内部直接使用
loopnum表示显示的循环每行的记录条数
typenum表示循环显示的方式:目前分了两类,横向并列、纵向并列显示同一数据记录行的不同记录

引用示例如下:


<%
if request.form("submit")<>"" then
topnum=request.form("topnum")
loopnum=request.form("loopnum")
typenum=request.form("typenum")
else
topnum=8
loopnum=2
typenum=1
end if
%>
<%call showpros("cn_products",topnum,"p_name",loopnum,typenum)%>
<form action=index.asp method=post>
显示的记录总数:<input name=topnum value=<%=topnum%>>
显示的行循环数:<input name=loopnum value=<%=loopnum%>>
显示的方法类型:<select name=typenum>
<option value="1">方法1</option>
<option value="2">方法2</option>
</select>
<input type=submit name=submit value=Sure>
</form>
返回类别: 教程
上一教程: 利用ASP+XML打造个性化留言本(2)
下一教程: 通过ASP与ACCESS数据库建立连接(附源码)(3)

您可以阅读与"ASP应用中的应用函数"相关的教程:
· ASP正则表达式在UBB论坛中的应用
· ASP中的函数应用方式及应用举例(一)
· CHART组件在ASP中的应用
· ASP和数据库技术在WAP开发中的应用
· ASP中的函数应用方式及应用举例(二)
    微笑服务 优质保证 索取样品