老马常用函数集
Dim oRs, sSql, oConn ''全局变量
Sub CreateConn()
Dim sConnStr
If(IsObject(oRs) = False)Then
Set oRs = Server.CreateObject("Adodb.RecordSet")
End If
If(IsObject(oConn) = False)Then
Set oConn = Server.CreateObject("Adodb.Connection")
End If
If DB_IS_ACCESS = True Then
sConnStr = Replace(DB_MDB_STR, "{$DB_SOURCE}", SITE_ROOT_DIR & "\" & DB_SOURCE)
Else
sConnStr = DB_SQL_STR
End If
If Not(DEBUGGING) Then On Error Resume Next
Err.Clear
If(oConn.State = 0)Then oConn.Open sConnStr
ErrInfoOut(Err)
End Sub
'================================================
'| 函数名: ExecSQL
'| 作 用: 在当前环境中执行sSql中的语句, 并返回执行情况
'================================================
Function ExecSQL(sSql)
Dim iRowsAffected
SQL_QUERIES = SQL_QUERIES + 1
If Not(DEBUGGING) Then On Error Resume Next
Err.Clear
oConn.Execute sSql, iRowsAffected
ExecSQL = iRowsAffected
ErrInfoOut(Err)
End Function
'================================================
'| 函数名: QuerySQL
'| 作 用: 在当前环境中执行sSql中的语句, 并返回记录集或者False(执行错误)
'================================================
Function QuerySQL(sSql)
Dim Rs
Err.Clear
SQL_QUERIES = SQL_QUERIES + 1
If Not(DEBUGGING) Then On Error Resume Next
'Response.Write sSql & "<br />"
Set Rs = Server.CreateObject("Adodb.RecordSet")
Rs.Open sSql, oConn, 1, 1
If(Not Rs.EOF)Then
QuerySQL = Rs.GetRows()
Else
QuerySQL = Empty
End If
Rs.Close
Set Rs = Nothing
ErrInfoOut(Err)
End Function
'================================================
'| 函数名: AddNewRecord
'| 作 用: 在指定表sTable中插入一条新记录,aName、aValue分别是字段和值数组
'================================================
Function AddNewRecord(sTable, aName, aValue)
Dim i, j, sSql
SQL_QUERIES = SQL_QUERIES + 1
sSql = "Select * From " & sTable & ""
oRs.Open sSql, oConn, 1, 3
oRs.AddNew
For i = 0 To UBound(aName)
'Response.Write aName(i) & "=" & aValue(i) & "<br />"
If(InStr(aName(i), "_Title") > 0)Or(InStr(aName(i), "_Content") > 0)Or(InStr(aName(i), "_UserName") > 0)Or(InStr(aName(i), "_Reply") > 0)Then
aValue(i) = BadWordsTrim(aValue(i))
End If
For J = 0 To UBound(ARY_JP_DECODE)
aValue(i) = Replace(aValue(i), ARY_JP_DECODE(J), ARY_JP_ENCODE(J))
Next
oRs(aName(i)) = aValue(i)
Next
AddNewRecord = oRs("ID")
oRs.Update
oRs.Close
End Function
'================================================
'| 函数名: UpdateRecord
'| 作 用: 更新一条指定的记录,aName、aValue分别是字段和值数组,其中0下标为条件
'================================================
Function UpdateRecord(sTable, aName, aValue)
Dim i, j, sSql
SQL_QUERIES = SQL_QUERIES + 1
sSql = "Select * From " & sTable & " Where " & aName(0) & "=" & aValue(0)
oRs.Open sSql, oConn, 1, 3
For i = 1 To UBound(aName)
If(InStr(aName(i), "_Title") > 0)Or(InStr(aName(i), "_Content") > 0)Or(InStr(aName(i), "_UserName") > 0)Or(InStr(aName(i), "_Reply") > 0)Then
aValue(i) = BadWordsTrim(aValue(i))
End If
For J = 0 To UBound(ARY_JP_DECODE)
aValue(i) = Replace(aValue(i), ARY_JP_DECODE(J), ARY_JP_ENCODE(J))
Next
oRs(aName(i)) = aValue(i)
Next
oRs.Update
oRs.Close
End Function
Sub DestoryConn()
If IsObject(oRs) Then Set oRs = Nothing
If IsObject(oConn) Then
If(oConn.State = 1)Then oConn.Close
Set oConn = Nothing
End If
End Sub
浙公网安备 33010602011771号