日期:2010-05-29  浏览次数:21090 次

  本例是一个数据库查询的例子,通过Split函数对查询字段进行了切割。用于想灵活控制查询或开发更深层应用的一个例子。

<%
     Dim Conn
     Dim Rs
     Dim j
     Dim i
     Set Conn = Server.CreateObject("adodb.connection")
     Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("myweb\database\GuestBook.mdb")
     Set Rs = Server.CreateObject("Adodb.RecordSet")
     'StrSql="Select * From GuestBook" '等同于下句。
     StrSql=SplitText("Title Content"," ","Select "," From GuestBook",",")
     Rs.Open StrSql, Conn, 1, 3
     Call RsFieldShow("Title Content"," ","标题: 内容:","<br/> <br/>")
     'j=Rs.Fields.count
     'For i=0 to (j-1)
     ' Response.Write("第" & i+1 & "个字段名:" & Rs.Fields(i).Name & "<br><br>")
     'Next
%>
<%
'ASP中把要查询的字段(Content)以字符串形式传递,附有前缀(PreText)、后缀(LastText)。
'要求前后缀产生数组后,与查询字段的数目相同。
Sub RsFieldShow(Byval Content,Byval SplitMark,Byval PreText,Byval LastText)
On Error Resume Next
EveryString=Split(Content,SplitMark)'获得字符串数组,并赋值。
EveryPreText=Split(PreText,SplitMark)
EveryLastText=Split(LastText,SplitMark)
For i=LBound(EveryString) to UBound(EveryString)
Response.Write EveryPreText(i) & Rs(EveryString(i)) & EveryLastText(i) '输出结果
Next
End Sub
'按照指定的格式输出字符串。
Function SplitText(Byval Content,Byval SplitMark,Byval PreText,Byval LastText,Byval SplitChar)
On Error Resume Next
Dim StrQ
StrQ=Split(Content,SplitMark) '获得字符串数组,并赋值。
For i=LBound(StrQ) to UBound(StrQ) '利用函数取得数组上限和下限。
SplitText=SplitText & StrQ(i) & SplitChar '进行组合
Next
SplitText=Left(SplitText,Len(SplitText)-1) '去掉最后一个符号。
SplitText=PreText & SplitText & LastText '加上前后缀并返回。
End Function
%>

  你可以根据实际情况配置数据库路径、字段查询等。

  输出结果:

  标题:ASP中Split 函数的一例
  内容:www.webjx.com越来越多的内容了!