`
xcgh
  • 浏览: 77366 次
  • 来自: ...
社区版块
存档分类
最新评论

ASP中轻松实现变量名-值变换

    博客分类:
  • asp
阅读更多
用过PHP的朋友都知道,PHP中变量的使用灵活方便,特别是能在字符串中方便实现变量名-值变换,使得整个PHP代码更显简洁优美。比如一条更新数据库的SQL语句只需写成:"update users set password='$password', group=$group, name='$username' where account='$account'",其中的$password、$group、$username、$account便会被实际的变量值替换,而在ASP中要实现相同的功能必须写成:"update useres set password='" & password & "',group=" & group & ",name='" & username & "' where account='" & account & "'",显得冗长难看。如果这是一条insert语言而且插入的字段内容很多的话,那么查看字段与values的对应关系将会是一个痛苦的过程。

  现在让我们看看如何在ASP实现类似的变量名-值变换。

思路

  首先,必须有一个方法把需要用实际值替换的变量名与普通的文本区分出来;然后,把所有找到的变量名用它所代表的实际值替换掉。
  对于第一点可以通过正则表达式查找得到,这里我们不采用PHP的变量表示方式,而采用大托号{}作为变量名的边界符,字符串表示变为password='{password}',group={group}。
  第二点是变量名-值变换的关键,通过变量名得到变量值。查看ASP资料没有找到直接实现的方法,但有一个函数Execute引起我们的注意,从资料说明中可知Execute可以执行传入的有效的字符串作为代码执行同,这样只要编写一个小函数就可以实现我们的要示。核心代码为:
function GetVar(var_name)
    Execute("function get_value(): get_value=" & var_name  & ": end function")
    getvar=get_value()
end function

实现

完整代码:
'=================================================================
'DESIGN BY :  彭国辉
'SITE:        http://kacarton.yeah.net/
'BLOG:        http://blog.csdn.net/nhconch
'EMAIL:       kacarton@sohu.com

'文章为作者原创,转载前请先与本人联系,转载请注明文章出处、保留作者信息,谢谢支持!
'=================================================================

function GetVar(var_name)
    Execute("function get_value(): get_value=" & var_name  & ": end function")
    getvar=get_value()
end function

function Txt2Value(str, level)
    dim regEx, Matches, Result
    Set regEx = new RegExp
    select case level
        case 0 regEx.Pattern = "\{(\w+)\}"              '变量名有效
        case 1 regEx.Pattern = "\{([\w+\-\*/\\<>=]+)\}" '变量名及运算符有效
        'case 2 regEx.Pattern = "\{([\w\s]+)\}"   '除换行符外的所有字符有效
        case else exit function
    end select
    'regEx.Pattern = "\{(\w+)\}"
    regEx.IgnoreCase = true
    regEx.Global = true
    Set Matches = regEx.Execute(str)
    Result = str
    'response.write Matches.Count
    For Each Match In Matches
        Result = Replace(Result, Match.Value, GetVar(Match.SubMatches(0)))
    Next
    set Matches = nothing
    set regEx = nothing
    Txt2Value = Result
end function

function Var2Value(var_name)
    Var2Value = Txt2Value(var_name, 0)
end Function

调用方法:
Var2Value("update users set password='{password}', group={group}, name='{username}' where account='{account}'"
  Var2Value调用了Txt2Value,Txt2Value找出所有变量名交调用GetVar得到变量值并进行替换。实际上直接调用Txt2Value(str,1)还允许对字符串值进行四则运算。

分享到:
评论

相关推荐

    asp.net轻松实现中的分页

    asp.net轻松实现中的分页 asp.net轻松实现中的分页 asp.net轻松实现中的分页 asp.net轻松实现中的分页 asp.net轻松实现中的分页 asp.net轻松实现中的分页 asp.net轻松实现中的分页 asp.net轻松实现中的分页 asp.net...

    asp实现微信JS-SDK分享朋友圈(自定义图标等)功能

    用ASP程序实现手机网页,获取“分享到朋友圈”按钮点击状态及自定义分享内容接口。通过asp实现以下数据:timestamp(时间戳)、access_token、jsapi_ticket、sha1加密、signature。

    asp-hmac-md5加密方法-md5函数文件-支持中文.rar_asp_asp md5_asp-md5-hmac_md5_中

    ASP-HMAC-MD5加密方法是ASP(Active Server Pages)中实现的一种安全的哈希算法,主要用于数据的完整性校验和认证。MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,能将任意长度的信息转化为固定长度...

    ASP检测服务器变量情况

    描述中的“小工具”可能是一个ASP网页(如`variable.asp`),它展示了所有可用的`ServerVariables`及其对应的值。这样的工具对于网站管理员来说非常有用,他们可以通过这个工具快速检查服务器的状态,排查问题,或者...

    ASP技术常遇问题解答-如何将计数器的值赋给一个变量?.zip

    本文将深入探讨如何在ASP中创建一个计数器,并将其值赋给一个变量,以便进一步处理。 首先,我们需要理解ASP中的计数器是如何工作的。在ASP中,计数器可以通过两种主要方式实现:使用Session对象或Application对象...

    ASP单选按钮实现页面跳转并传值

    在 ASP 编程中,实现单选按钮的页面跳转并传值是非常常见的需求。下面,我们将详细介绍如何使用 ASP 实现单选按钮的页面跳转并传值。 首先,让我们了解一下单选按钮的基本概念。在 HTML 中,单选按钮是通过 `...

    ASP变量加变量实现代码

    本文将详细介绍如何在ASP环境中实现变量与变量相加的功能,并通过一个具体的示例来展示其实现方法。 #### 二、ASP基础概述 ASP是一种基于Microsoft技术的平台,它允许开发者在Web服务器上运行脚本代码(如VBScript...

    asp_hmac_sha256加密支持中文utf-8编码

    `asp_hmac_sha256`文件可能是一个包含了此类实现的ASP组件或脚本,方便开发者在ASP环境中快速集成HMAC-SHA256功能。 为了与其他语言保持兼容,该实现特别强调了UTF-8编码的支持。UTF-8是目前最常用的Unicode编码...

    asp保持SESSION变量不过期

    通过以上方法,我们可以有效地管理和维护ASP应用中的Session变量,确保用户在会话期间能持续保持登录状态,提高用户体验。同时,也要注意平衡安全性和用户体验,避免过于长的Session存活时间可能带来的安全风险。

    asp如何实现动态下拉菜单赋值给文本框

    本文将详细探讨ASP中如何实现动态下拉菜单赋值给文本框的两种方法,这在构建用户友好的界面时非常有用。 ### 方法一:使用JavaScript 首先介绍的是通过JavaScript来实现动态下拉菜单赋值给文本框的方式。这种方法...

    在ASP.NET 中实现单点登录

    【在ASP.NET中实现单点登录SSO】 单点登录(Single Sign-On,简称SSO)是一种身份验证机制,允许用户在一个系统或服务中登录后,无需重新输入凭证即可访问其他相互信任的系统。在ASP.NET中实现SSO,通常需要解决跨...

    金鹰asp超速入门视频教程-016.变量规则.rar

    9. **变量命名规则**:ASP中的变量名必须以字母或下划线开头,后续可跟字母、数字或下划线。避免使用保留字作为变量名。 通过这个"金鹰asp超速入门视频教程-016.变量规则",学习者可以系统地了解ASP变量的使用方法...

    asp+access代码-实现注册登录学生信息管理

    index.asp-login.asp-index1.asp p243.asp 显示登录学生记录(1条)信息 3.管理员登录:admin.asp-&gt;loginadmin.asp-&gt;index2.asp n247.asp显示全部学生信息,并带删除、编辑超链接 edit2.asp 编辑后台,del2.asp...

    ASP技术常遇问题解答-ASP的数据命名有什么规则吗?.zip

    - 遵循驼峰命名法:在ASP中,变量名通常采用驼峰命名法,即首字母小写,后续每个单词的首字母大写。例如:myVariableName。 - 避免使用保留字:确保变量名不与ASP的保留字冲突,如Response、Request等。 - 明确...

    asp 实现显示所有的服务器变量值的函数

    每个列表项包含变量名和变量值,用`&lt;li&gt;`标签包裹,每对变量之间用换行符`&vbcrlf;`分隔,这样在浏览器中渲染时会形成一个新的列表项。 示例代码: ```vbscript For Each dest In Request.ServerVariables ...

    ASP基础教程:ASP脚本变量、函数、过程和条件语句

    在ASP(Active Server Pages)环境中,脚本变量是用于存储数据的基本单元。它们可以保存各种类型的信息,包括文本字符串、数字、日期等。在给定的部分内容中,我们看到`itemp`被定义为一个日期类型的变量,通过调用`...

    asp+access新闻发布系统-源码

    一、设计题目 2 二、设计内容 2 三、设计要求 2 1. 查看新闻功能 2 2. 管理员登录功能 2 3. 发布新闻功能 2 4. 新闻管理功能 2 ...6) 退出页的实现 exit.asp 28 7) 增加后台各页面的合法验证功能 28

    关闭页面时清空Session (ASP.net ) (已实现)

    根据提供的文件信息,本文将详细解释如何在ASP.NET应用程序中实现关闭页面时清除Session状态的具体方法及其实现机制。 ### 一、理解Session 在Web开发中,Session是一种常用的技术,用于存储用户会话期间的数据。...

    1小时ASP入门-轻松掌握ASP

    值得注意的是,ASP中的变量类型是动态的,也就是说,不需要显式指定变量的类型。 #### 2. 控制流程语句 控制流程语句用于控制程序的执行流程,常见的包括条件语句和循环语句。 ##### 2.1 条件语句 使用`If...Then.....

    Flash和Asp数据库的结合应用

    - **从TXT文件读取**:创建一个TXT文件,每行包含变量名和值,如`m1=data1`,然后使用`loadVariablesNum`加载这个文件,Flash会解析并获取变量。 - **从CGI、PHP、ASP文件读取**:这些服务器端脚本可以生成包含...

Global site tag (gtag.js) - Google Analytics