asp常用函数集

一 字符串操作函数:

1、instr函数

Instr()

FUNCTION: 返回字符或字符串在另一个字符串中第一次出现的位置.

SYNTAX: Instr([start, > strToBeSearched, strSearchFor [, compare>)

ARGUMENTS: Start为搜索的起始值,strToBeSearched接受搜索的字符串 strSearchFor要搜索的字符compare 比较方式(详细见ASP常数)

EXAMPLE:

    <%

strText = "This is a test!!"

pos = Instr(strText, "a")

response.write pos

%>

RESULT: 9

2、instrrev函数

InstrRev()

FUNCTION: 同上,只是从字符串的最后一个搜索起

SYNTAX: InstrRev([start, > strToBeSearched, strSearchFor [, compare>)

ARGUMENTS: 同上.

EXAMPLE:

    <%

strText = "This is a test!!"

pos = InstrRev(strText, "s")

response.write pos

%>

RESULT: 13

3、mid函数

Mid()

FUNCTION: 返回特定长度的字符串(从start开始,长度为length).

SYNTAX: Mid(string, start [, length>)

ARGUMENTS:

EXAMPLE:

    <%

strTest = "This is a test! Today is Monday."

response.write Mid(strTest, 17, 5)

%>

RESULT: Today 4、replace

Replace()

FUNCTION: Returns a string in which a specified sub- string has been replaced with another substring a specified number of times.

SYNTAX: Replace(strToBeSearched, strSearchFor, strReplaceWith [, start [, count [, compare>>>)

ARGUMENTS: strToBeSearched is a string expression containing a sub-string to be replaced; strSearchFor is the string expression to search for within strToBeSearched; strReplaceWith is the string expression to replace sub-string strSearchFor; start (optional) is the numeric character position to begin search; count (optional) is a value indicating the comparision constant.

EXAMPLE:

    <%

strTest = "This is an apple!"

response.write Replace(strTest, "apple", "orange")

%>

RESULT: This is an orange!

以上的四个函数是在远程获取中用的最多的,比起正则表达式,虽然功能上不足,但是使用他们显得更加简易。

另外一些可能用到的

trim()

FUNCTION: 去掉字符串两边的空格.

SYNTAX: Rtrim(string)

ARGUMENTS:

EXAMPLE:

    <%

strTest = "  This is a test!! "

response.write RTrim(strTest)

%>

RESULT: This is a test!!

还有ltrim和rtrim,分别是去掉字符串左边和右边的空格。StrReverse()

FUNCTION: 反排一字符串

SYNTAX: StrReverse(string)

ARGUMENTS:

EXAMPLE:

    <%

strTest = "This is a test!!"

response.write StrReverse(strTest)

%>

RESULT: !!tset a si sihT  

-------------------------------------------------------------------------------------------------------

 

二。日期和时间函数示例

可以使用日期和时间函数来得到各种格式的日期和时间

函数 语法 说明 示例 Now Now() 取得系统当前的日期和时间 Dim MyVar MyVar = Now
′ MyVar 包含当前的日期和时间。 Date Date() 取得系统当前的日期 Dim MyDate MyDate = Date
′ MyDate 包含当前系统日期。 Time Time() 取得系统当前的时间 Dim MyTime MyTime = Time
′ 返回当前系统时间。 Year Year(Date) 取得给定日期的年份 Dim MyDate, MyYear
MyDate = #October 19, 1962#
′分派一日期。
MyYear = Year(MyDate)
′ MyYear 包含 1962。 Month Month(Date) 取得给定日期的月份 Dim MyVar MyVar = Month(Now)
′ MyVar包含当前月对应的数字。 Day Day(Date) 取得给定日期是几号 Dim MyDay MyDay = Day("October 19, 1962")
′MyDay包含 19。 Hour Hour(time) 取得给定时间是第几小时 Dim MyTime, MyHour
MyTime = Now MyHour = Hour(MyTime)
′ MyHour 包含代表当前时间的数值。 Minute Minute(time) 取得给定时间是第几分钟 Dim MyVar
MyVar = Minute(Now) Second Second(time) 取得给守时间是第几秒 Dim MySec
MySec = Second(Now)
′MySec 包含代表当前秒的数字。 WeekDay WeekDay(Date) 取得给定日期是星期几的整数,1表示星期日,2表示星期一,依此类推 Dim MyDate, MyWeekDay
MyDate = #October 19, 1962#
′ 分派日期
MyWeekDay = Weekday(MyDate)
′ MyWeekDay 包含 6,MyDate 代表星期五 DateDiff DateDiff("Var",Var1,Var2)
Var:日期或时间间隔因子,有如下参数:
yyyy 年 m月 d 日 ww星期 h小时 s秒

Var1:第一个日期或时间
Var2:第二个日期或时间,比Var1晚 计算两个日期或时间的间隔 DateDiff("d",Date(),#1/1/2005#)
′返回离2005元旦还有多少
DateDiff("h",Date(),#1/1/2005#)
′返回离2005元旦还有多少小时
DateDiff("d",#1/1/2003#,#1/1/2005#)
′返回两个日期之间的天数 DateAdd DateDiff("Var",Var1,Var2)
Var:日期或时间间隔因子:
Var1:日期或时间间隔倍数
Var2:日期或时间的基准 对两个日期或时间作加法
如下示例将 95 年 1 月 31 日加上一个月:

NewDate = DateAdd("m", 1, "31-Jan-95")
在这个示例中,DateAdd 返回 95 年 2 月 28 日,而不是 95 年 2 月 31 日。如果 date 为 96 年 1 月 31 日,则返回 96 年 2 月 29 日,这是因为 1996 是闰年。

如果计算的日期是在公元 100 年之前,则会产生错误。

FormatDateTime FormatDateTime(Date,vbShortDate) 转化为短日期格式 FromatDateTime(Date(),vbLongDate)
"以长日期格式显示 FormatDateTime(Date,vbLongDate) 转化为长日期格式 FormatDateTime(Date,vbShortTime) 转化为短时间格式 FormatDateTime(Date,vbLongTime) 转化为长时间格式

 

 

______________________________________________________________
DateDiff 函数


返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目。

语法

DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])

DateDiff 函数语法中有下列命名参数:

部分 描述
interval 必要。字符串表达式,表示用来计算date1 和 date2 的时间差的时间间隔
Date1□date2 必要;Variant (Date)。计算中要用到的两个日期。
Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。
firstweekofyear 可选。指定一年的第一周的常数。如果未予指定,则以包含 1 月 1 日的星期为第一周。


设置

interval 参数的设定值如下:

设置 描述
yyyy 年
q 季
m 月
y 一年的日数
d 日
w 一周的日数
ww 周
h 时
n 分钟
s 秒


firstdayofweek 参数的设定值如下:

常数 值 描述
vbUseSystem 0 使用 NLS API 设置。
vbSunday 1 星期日(缺省值)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六

常数 值 描述
vbUseSystem 0 用 NLS API 设置。
vbFirstJan1 1 从包含 1 月 1 日的星期开始(缺省值)。
vbFirstFourDays 2 从第一个其大半个星期在新的一年的一周开始。
vbFirstFullWeek 3 从第一个无跨年度的星期开始。

————————————————————————————————————

三 数据库连接

conn.open "Provider=SQLOLEDB.1; server=C354435108B14B6;database=flower; uid=sa; pwd=sa;"


//第一种写法:
MM_conn_STRING = "Driver={SQL Server};server=(local);uid=sa;pwd=;database=infs;"
Set conn = Server.Createobject("ADODB.Connection")
conn.open MM_conn_STRING
SET RS=SERVER.CreateObject("ADOBD.recordset")
SQL="SELECT * FROM TABLE ORDER BY ID DESC"
RS.open SQL,CONN,3,3 

//第二种写法:(DSN连接)

MM_conn_STRING="DSN=BBS;UID=SA;PWD=12345"
Set conn = Server.Createobject("ADODB.Connection")
conn.open MM_conn_STRING
SET RS=SERVER.CreateObject("ADOBD.recordset")
SQL="SELECT * FROM TABLE ORDER BY ID DESC"
RS.open SQL,CONN,3,3  // 3,3是修改、删除、增加开关!

//第三种写法:

MM_conn_STRING_own = "Driver={SQL Server};server=(local);uid=sa;pwd=11111;database=infs;"
Set conn = Server.Createobject("ADODB.Connection")
conn.open MM_conn_STRING_own

//第四种 - 这种方法用在ACCESS中
strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" _
& Server.MapPath("asp.mdb")
set conn = server.createobject("adodb.connection")
conn.open strconn

 

使用ASP连接MS SQL数据库,标准的连接,常用的多的是下面这种连接字符串:
  CONN.OPEN "Provider=SQLOLEDB.1;"&_
  "Password='"&pass_word&"';"&_
  "Persist Security Info=true;"&_
  "User ID='"&User_ID&"';"&_
  "Initial Catalog='"&db&"';"&_
  "Data Source='"&Data_Source&"';"&_
  "CONNect Timeout="&cntimeout&""
  描述:
  Provider=SQLOLEDB.1;数据库提供者,后面的 1 是表示版本信息,如果没有就会完全使用当前最新版功能
  User ID=SQL帐号,数据库的帐号
  Password=SQL帐号密码,数据库的帐号密码
  Initial Catalog=数据库名字(只有名字,而ACCESS的是具体带路径的数据文件)
  Data Source=数据源,SQL服务器名或其IP,通常用IP
  上五个参数缺一不可
  关于Data Source:
  如果 IIS 和 SQL 同一台服务器,则 使用安装 IIS的 IP 或 主机名HostName 或 (local)
  例如:
  //Data Source=(Local) '' IIS 与 SQL 一起则第一选择它!
  //Data Source=212.100.1.12
  //Data Source=LSS
  如果 SQLserver 是在另外的机器上,比如你连接到我机器上的的 SQLserver ,就用我机器的 IP
  //Data Source=208.190.21.112 '我的SQL server IP
  CONNect Timeout=连接超时,是整数,缺省是30秒,可以不用
  Persist Security Info= true or false 可以不用
  
  理解SQL和ACCESS的区别:
  ACCESS是文件型的数据库,一个数据库就是一个具体的 MDB文件,所以ACCESS的连接需要给出具体的数据库路径 Data Source='c:/www/mdb/aaa.mdb'
  而Server.mappath(aaa.mdb)即是将aaa.mdb 映射为 c:/www/mdb/aaa.mdb
  SQLserver是S/C 客户端/服务器方式,与ACCESS完全不一样,所以访问SQL 2000的数据库需要建立客户端和服务器端的连接,注意这个客户端是针对 SQL数据库服务器来说的
  服务器端的脚本 对 SQLserver 来说也是“客户端应用程序”。
  SQL的数据库物理上也是一个.MDF数据文件,但这与MDB是天壤之别的,SQL的MDF 可以说是一个数据库的集合,里面包括了很多个数据库(里面的每个数据库有一个名字,每个数据库有相应的拥有者SchMa),而ACCESS的MDB是一个文件就是一个数据库。
  故访问SQL 数据库要指定其服务器IP 数据库帐号密码 数据库名(当然无路径可言)
  而访问 ACCESS 只要访问 ACCESS的文件就行了。
  现在要做的是,进入企业管理器,建立一个数据库(比如为AAA),在数据库中,建立添加数据库用户和密码,然后就可以用上面的连接字符串来连接了!

——————————————————————————————————

四。得到系统信息

   客户IP:<%response.write Request.ServerVariables("REMOTE_host")%><br>
    当前访问的文件目录:<%response.write Request.ServerVariables("script_name")%><br>

    <A HREF=TEST.ASP>unLoad</A><br><br>
    当前页URL:
    <script language="vbscript">
    document.write(location.href)
    </script><br>
    显示所访问的URL:http://<%=request.serverVariables("server_name")%>
    显示所访问的上一页的URL:<%=request.serverVariables("http_referer")%><br>
    显示文件实际的硬盘目录:<%=request.serverVariables("path_translated")%><br>
    显示文件的虚拟绝对路径:<%=request.serverVariables("path_info")%><br>
    显示文件所在的绝对虚拟路径:<%=request.serverVariables("script_name")%><br>
    显示主机IP:<%=request.serverVariables("remote_host")%><br>
    显示主机地址:<%=request.serverVariables("remote_addr")%><br>

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值