'返回第一行,第一列的值
Function ExecuteScalar(sql)
Dim rs1
rs1 = Server.CreateObject("Adodb.Recordset")
rs1.Open sql,conn,1,1
If rs1.Bof And rs1.Eof Then
ExecuteScalar = ""
Else
ExecuteScalar = rs1(0)
End If
rs1.Close
Set rs1 = Nothing
End Function
'返回数组,将第一行的数据放入数组中,UBound 函数获取数组长度
Function ExecuteOneArray(sql)
Dim arr()
Set rs = Server.CreateObject("Adodb.Recordset")
rs.Open sql,conn,1,1
If rs.Bof And rs.Eof Then
ReDim Preserve arr(0)
arr(0) = ""
Else
For i=0 To rs.Fields.Count - 1
ReDim Preserve arr(i) '将数组长度变长
arr(i) = rs(i)
Next
End If
ExecuteOneArray = arr
rs.Close
Set rs = Nothing
End Function
'接收参数,返回整型
Function RequestInt(name)
On Error Resume Next
iD = Cint(Request(name))
If Err.Number = 0 Then
RequestInt = iD
Else
RequestInt = 0
End If
End Function
'返回指定长度的字符串,长度按字节算
Function GetTopic(str, strlen)
Dim l,t,c,i
l = len(str)
t = 0
For i = 1 To l
c = Abs(Asc(Mid(str, i, 1)))
If c > 255 Then ' 汉字占两个位置
t = t + 2
Else
t = t + 1
End If
If t >= strlen Then
GetTopic = left(str, i)
Exit For
Else
GetTopic = str
End If
Next
End Function



