ASP常用的几个功能模块封装成函数调用(登录验证,状态切换。。) http://www.tsingfeng.com/archives/?article-89.html

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
1,经常写些系统,那么一般都是从登录程序开始,每接一个系统就写一次登录,好麻烦。
干脆直接做个登录验证函数吧,对我来说,大都情况可以胜任了:)
<%
Function chk_regist(requestname,requestpwd,tablename,namefield,pwdfield,reurl)
dim cn_name,cn_pwd
cn_name=trim(request.form(""&amp;requestname&amp;""))
cn_pwd=trim(request.form(""&amp;requestpwd&amp;""))
if cn_name="" o&#114; cn_pwd="" then
response.Write("<script language=javascript>alert(""请将帐号密码填写完整,谢谢合作。"");history.go(-1)</script>")
end if
Set rs = Server.Cr&#101;ateObject ("ADODB.Recordset")
sql = "Sel&#101;ct * from "&amp;tablename&amp;" wh&#101;re "&amp;namefield&amp;"=""&amp;cn_name&amp;"""
rs.open sql,conn,1,1
if rs.eof then
response.Write("<script language=javascript>alert(""没有该会员ID,请确认有没有被申请。"");history.go(-1)</script>")
else
if rs(""&amp;pwdfield&amp;"")=cn_pwd then
session("cn_name")=rs(""&amp;namefield&amp;"")
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.Cr&#101;ateObject ("ADODB.Recordset")
sql = "Sel&#101;ct * from "&amp;tablename&amp;" wh&#101;re "&amp;autoidname&amp;"="&amp;indexid
rs.Open sql,conn,2,3
fildvalue=rs(""&amp;fildname&amp;"")
if fildvalue=0 then
fildvalue=1
else
fildvalue=0
end if
rs(""&amp;fildname&amp;"")=fildvalue
rs.up&#100;ate
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&amp;p_id=<%=rs("p_id")%>>推荐</a>
<%else%>
<a href=showpro.asp?dowhat=tj&amp;p_id=<%=rs("p_id")%>>取消推荐</a>
<%end if%>
3,为很多中小企业写站点,一般产品展示是个大项目,那么做成的页面也就不同。
要不就是横排来几个,要不就是竖排来几个,甚至全站要翻来覆去的搞个好几次,麻烦也很累。
索性写个函数能缓解一下,于是就成了下面
<%
function showpros(tablename,topnum,fildname,loopnum,typenum)
Set rs = Server.Cr&#101;ateObject ("ADODB.Recordset")
sql = "Sel&#101;ct top "&amp;topnum&amp;" * from "&amp;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
sel&#101;ct case typenum
case "1"
response.Write("<td><table width="100%"><tr><td bgcolor=red width="50%">")
response.Write(rs(""&amp;fildname&amp;""))
response.Write("</td><td bgcolor=black>")
response.Write("方式1之"&amp;i&amp;"记录")"此处的“方式1”可以替换显示为其余字段的值
response.Write("</td></tr>")"如果字段比较多,继续添加新个表格行来显示
response.Write("</table></td>")
case "2"
response.Write("<td><table width="100%"><tr><td bgcolor=red>")
response.Write(rs(""&amp;fildname&amp;""))
response.Write("</td></tr>")
response.Write("<tr><td bgcolor=black>")
response.Write("方式2之"&amp;i&amp;"记录")
response.Write("</td></tr>")
response.Write("</table></td>")
end sel&#101;ct
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%>>
显示的方式类型:<sel&#101;ct name=typenum>
<option value="1">方式1</option>
<option value="2">方式2</option>
</sel&#101;ct>
<input type=submit name=submit value=Sure>
</form>
转自 布鲁斯狼
 
asp常用函数 asp常用函数     Array()  FUNCTION: 返回一个数组  SYNTAX: Array(list)  ARGUMENTS: 字符,数字均可  EXAMPLE: Dim myArray()For i = 1 to 7  Redim Preserve myArray(i)  myArray(i) = WeekdayName(i)Next%>  RESULT: 建立了一个包含7个元素的 阅读详情

相关推荐

天枫常用ASP函数封装

-------------------------------------天枫ASP class v1.0,集常用asp函数于一体天枫版权所有http://www.52515.netQQ:76994859 EMAIL:Chenshaobo@gmail.com所有功能函数名如下: StrLength(str) 取得字符串长度 CutStr(str,strlen) 字符串长度切割

YTFUNLOVE的BLOG 1394

ASP文件中调用DLL

         动态联接库(DLL)是加快应用程序关键部分的执行速度的重要方法,但有一点恐怕大部分人都不知道,那就是在ASP文件也能通过调用DLL来加快服务器的执行速度,下面我简单的介绍一下在ASP文件调用DLL的步骤。   首先,必须得有DLL文件,本例是通过VB5.0创建ActiveX DLL文件,这个文件模拟了一个掷色子的过程。 在VB5.0的环境下,新建一个工程,并双击新建工程窗口中Ac

南三方---网站设计开发录 655

ASP几个有用的函数

function DeleteFile(Filename) 删除文件 if FilenameSet fso = server.CreateObject("Scripting.FileSystemObject") if fso.FileExists(Filename) then fso.DeleteFile Filename end if set fso = nothing end if end

ehung的专栏 839

一个ASP连接数据库的函数

开发人员有时会想到,我们在一个需要读写数据库的页面里包含类似            的代码时,实际上,当你没有进行任何读写数据库操作时,这个数据库连接仍然是打开的,仍然在消耗着服务器的资源。      那么,我们有没有办法让数据库连接仅在需要读取数据库时才打开,不读取时就没有任何动作呢,以下即提供这种思路,以求抛砖引玉。      这种思路即是将数据库连接代码封装在函数里,在需要读取时调用这个函数

技术成就未来,知识改变命运 449

PostHttpPage用asp是实现模拟登录效果的代码

'================================================== '函数名:PostHttpPage '作  用:登录 '================================================== Function PostHttpPage(RefererUrl,PostUrl,PostData)      Dim xmlHttp  ...

wmnmtm的专栏 338

vue登录业务逻辑

这次给大家带来vue2.0实现注册登录步骤详解,vue2.0实现注册登录的注意事项有哪些,下面就是实战案例,一起来看一下。前言前段时间和公司一个由技术转产品的同事探讨他的职业道路,对我说了一句深以为然的话:“不要把自己禁锢在某一个领域,技术到产品的转变,首先就是思维上的转变。你一直做前端,数据的交互你只知道怎么进,却不知道里面是怎么出的,这就是局限性。”醍醐灌顶般,刚好学习vue的时候...

hjhfreshman的博客 1万+

登录校验+封装函数

1、 jquery写法 //为焦点 $(.mobile’).focus(function(){ $(this).next().hide(); }); $(. password’).focus(function(){ $(this).next().hide(); }); //失去焦点 $(.mobile’).blur(function(){ v...

weixin_44369878的博客 224

通过Sql Server创建EXCEL文件:master..xp_cmdshell

Infor = '{"Message":"出现错误。"}' Or @ReturnValue=1 --判断调用存储过程是否功;@Infor='创建EXCEL执行失败。@Infor='创建EXCEL执行功。@Infor='调用存储过程失败。获取当前的一些需要的配置的值。查询结果,生Excel。

weixin_44686958的博客 143

数据库技术】复习日:关系代数 + SQL + 规范化(整理对比表)

适合读者:软考中级备考同学阅读时间:7分钟内容:关系代数、SQL查询、规范化三大模块核心对比表、易错点、记忆口诀汇总。

bianyuan172的博客 434

Spring @EventListener 事件驱动解耦实战:同步转异步、事务绑定与顺序控制

/ 一个不可变的事件载体主流程只注入@Service// Spring 自动注入// 只管发事件,不关心谁在听现在只依赖仓库和发布器,下游全砍掉了。

weixin_42662753的博客 101

sql: sql server,mysql,oracle,postgresql 表和列的注释

内容是四种数据库创建时区映射表的SQL定义。摘要需简洁,点明表名、用途、关键字段和跨数据库支持。展示了SQL Server 2019、Oracle 21c、PostgreSQL 17和MySQL 9.0四种数据库中创建时区映射表TimeZoneMappings的SQL脚本。表用于存储IANA与Windows时区映射关系,包含主键、IANA/Windows时区ID、UTC偏移、排序

Geovin Du Dream Park 485

FastGPT高并发登录故障根治方案:50人并发报错、PostgreSQL、MongoDB数据库深度优化手册

针对FastGPT 50人并发登录报错,根源是数据库连接池配置缺陷,而非硬件或在线人数限制。通过PgBouncer收敛PG连接、调优Prisma连接池、MongoDB连接池+索引优化、清理历史数据,彻底解决连接溢出和卡顿。提取这段话。确保字数≤150。</think>FastGPT高并发登录故障源于PostgreSQL连接耗尽与MongoDB连接堆积,非硬件或人数限制。通过PgBouncer连接池收敛、Prisma连接参数优化、MongoDB池化与索引优化、历史数据清理,可根治50-100人并发下的登录报错

小相探索IT世界 554

SQL 优化阶段总结:从只会看慢 SQL 到开始读懂执行计划

最近整理了一批 SQL 优化记录。刚开始做这些优化时,我更多是在解决具体慢 SQL:哪条慢、哪个节点耗时高、改完能不能降下来。后来回头复盘,才发现很多优化动作背后其实有一套共同逻辑。这套直觉不能说完全错,但太容易把问题看窄。这篇文章就作为我这一阶段的总结和知识回顾,记录我从“只会凭直觉看慢 SQL”,到“开始能结合 ET、执行计划和索引结构解释优化原因”的过程。

2503_92351106的博客 287

本地测试全绿,上线 SQL 报错?Spring Boot 容器级 DT 测试实战指南(附Skills)

本地测试全绿,上线却报错?H2跑通换MySQL直接炸?根源:测试环境跟生产不像。本文用Testcontainers搭容器级DT测试,真实容器替代H2和Mock,提前暴露SQL语法、JPA映射、序列化等问题。三步搭好骨架,数据隔离加BCDE用例设计,完整示例配避坑指南,一条龙走完。配套Skill已开源GitHub,AI助手可自动生测试代码。

张小凡 379

2026金融数据分析岗技能栈拆解:SQL、Python、BI、风控指标怎么准备

一、 2026年金融数据分析岗位最需要的工具不是单一软件,而是这一套组合,其中SQL和Excel仍是应届生最不能绕开的底座。

2601_96035638的博客 206

IDEA配置SQL方言

使用Mybatis时,在mapper配置文件中为了快捷书写sql,可配置IDEA。可配置当前项目和全局使用,看自己。之后在xml中书写sql就会有提示。

我要成为Java糕手 265

深度复盘|数据库迁移实战(下):从自建 MySQL 5.7 到腾讯云 MySQL 8.0 的 SQL 兼容改造

不报错,但结果不对。这类问题的排查本远高于直接报错。

2501_93047244的博客 135
上一篇: ASP常用的函数模块 http://www.cnblogs.com/cnnix/archive/2006/07/16/452286.html
下一篇: ASP项目中的通用条件查询模块http://www.lesun.org/html/2002-12/8451.htm
chief1985
博客等级 码龄21年 1545粉丝 879原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值