让我们一起爱米兰
站内搜搜:
移动设备
请扫描二维码
或访问
m.milan100.com
您所在的位置 -> 米兰百分百 -> ASP -> asp一些常用的函数,过程,类

asp一些常用的函数,过程,类

点击数:979 发表时间:2010-07-27 10:59:12 作者: 来源链接:
分享到:
分享到微信

'---------------------------------连接数据库
Dim Conn,Connstr,Rs
Sub DataStr(DString)
if DString="open" then
On Error Resume Next
Set Conn=Server.CreateObject("ADODB.Connection")
Connstr="DBQ="&Server.MapPath("MDB.mdb")&";DRIVER={Microsoft Access Driver (*.mdb)};"
Set Rs=Server.CreateObject("ADODB.Recordset")
Conn.open ConnStr
if Err then
Set Conn=Nothing
Err.Clear
Response.Write("连接数据库错误!请联系管理员.")
Response.End
End if
End if
'---------------------------------关闭数据库
if DString="Close" then
Conn.Close
Set Conn=Nothing
Set Rs=Nothing
End if
End Sub
'---------------------------------完成data
'---------------------------------安全过滤
Function MyRequest(MyString,Strnumber)
     GetValue=Request(MyString)
if GetValue<>"" then
if Strnumber=0 then  '转换',
     GetValue=Replace(GetValue,"'","''")
Elseif Strnumber=1 then
     if Not IsNumeric(GetValue) then  '验证数据是否为数字
     Response.Write("<Script>alert(""你输入的部分数据中含有不正确的数值,请返回认真填写!"");history.go(-1)</script>")
     Response.End
     End if
Elseif Strnumber=2 then '适用于文本类型的字段存储时验证长度及转换
GetValue=replace(GetValue,"<","<")
GetValue=replace(GetValue,">",">")
GetValue=replace(GetValue,"'","''")
if Len(GetValue)>255 then
Response.Write("<Script>alert(""你输入的部分数据超出存储空间边界,请返回!"");history.go(-1)</script>")
Response.End
End if
Elseif Strnumber=3 then '适用于备注类型的字段存储时转换
GetValue=replace(GetValue,"<","<")
GetValue=replace(GetValue,">",">")
GetValue=replace(GetValue,"'","''")
GetValue=replace(GetValue,vbCrlf,"<br>")
End if
End if
     MyRequest=GetValue
End Function
下附可洛的INI类
'============================= 属性说明 =========================
'= INI.OpenFile = 文件路径(使用虚拟路径需在外部定义) =
'= INI.CodeSet = 编码设置,默认为 GB2312 =
'= INI.IsTrue = 检测文件是否正常(存在) =
'============================= 方法说明 =========================
'= IsGroup(组名) 检测组是否存在 =
'= IsNode(组名,节点名) 检测节点是否存在 =
'= GetGroup(组名) 读取组信息 =
'= CountGroup() 统计组数量 =
'= ReadNode(组名,节点名) 读取节点数据 =
'= WriteGroup(组名) 创建组 =
'= WriteNode(组,节点,节点数据) 插入/更新节点数据 =
'= DeleteGroup(组名) 删除组 =
'= DeleteNode(组名,节点名) 删除节点 =
'= Save() 保存文件 =
'= Close() 清除内部数据(释放) =
'================================================================
Class INI_Class
'==================================================
Private Stream '// Stream 对象
Private FilePath '// 文件路径

Public Content '// 文件数据
Public IsTrue '// 文件是否存在
Public IsAnsi '// 记录是否二进制
Public CodeSet '// 数据编码
'==================================================

'// 初始化
Private Sub Class_Initialize()
Set Stream = Server.CreateObject("ADODB.Stream")
Stream.Mode = 3
Stream.Type = 2
CodeSet = "gb2312"
IsAnsi = True
IsTrue = True
End Sub


'// 二进制流转换为字符串
Private Function Bytes2bStr(bStr)
if Lenb(bStr)=0 Then
Bytes2bStr = ""
Exit Function
End if

Dim BytesStream,StringReturn
Set BytesStream = Server.CreateObject("ADODB.Stream")
With BytesStream
.Type = 2
.Open
.WriteText bStr
.Position = 0
.Charset = CodeSet
.Position = 2
StringReturn = .ReadText
.Close
End With
Bytes2bStr = StringReturn
Set BytesStream = Nothing
Set StringReturn = Nothing
End Function


'// 设置文件路径
Property Let OpenFile(INIFilePath)
FilePath = INIFilePath
Stream.Open
On Error Resume Next
Stream.LoadFromFile(FilePath)
'// 文件不存在时返回给 IsTrue
if Err.Number<>0 Then
IsTrue = False
Err.Clear
End if
Content = Stream.ReadText(Stream.Size)
if Not IsAnsi Then Content=Bytes2bStr(Content)
End Property


'// 检测组是否存在[参数:组名]
Public Function IsGroup(GroupName)
if Instr(Content,"["&GroupName&"]")>0 Then
IsGroup = True
Else
IsGroup = False
End if
End Function


'// 读取组信息[参数:组名]
Public Function GetGroup(GroupName)
Dim TempGroup
if Not IsGroup(GroupName) Then Exit Function
'// 开始寻找头部截取
TempGroup = Mid(Content,Instr(Content,"["&GroupName&"]"),Len(Content))
'// 剔除尾部
if Instr(TempGroup,VbCrlf&"[")>0 Then TempGroup=Left(TempGroup,Instr(TempGroup,VbCrlf&"[")-1)
if Right(TempGroup,1)<>Chr(10) Then TempGroup=TempGroup&VbCrlf
GetGroup = TempGroup
End Function


'// 检测节点是否存在[参数:组名,节点名]
Public Function IsNode(GroupName,NodeName)
if Instr(GetGroup(GroupName),NodeName&"=") Then
IsNode = True
Else
IsNode = False
End if
End Function


'// 创建组[参数:组名]
Public Sub WriteGroup(GroupName)
if Not IsGroup(GroupName) And GroupName<>"" Then
Content = Content & "[" & GroupName & "]" & VbCrlf
End if
End Sub


'// 读取节点数据[参数:组名,节点名]
Public Function ReadNode(GroupName,NodeName)
if Not IsNode(GroupName,NodeName) Then Exit Function
Dim TempContent
'// 取组信息
TempContent = GetGroup(GroupName)
'// 取当前节点数据
TempContent = Right(TempContent,Len(TempContent)-Instr(TempContent,NodeName&"=")+1)
TempContent = Replace(Left(TempContent,Instr(TempContent,VbCrlf)-1),NodeName&"=","")
ReadNode = ReplaceData(TempContent,0)
End Function


'// 写入节点数据[参数:组名,节点名,节点数据]
Public Sub WriteNode(GroupName,NodeName,NodeData)
'// 组不存在时写入组
if Not IsGroup(GroupName) Then WriteGroup(GroupName)

'// 寻找位置插入数据
'/// 获取组
Dim TempGroup : TempGroup = GetGroup(GroupName)

'/// 在组尾部追加
Dim NewGroup
if IsNode(GroupName,NodeName) Then
NewGroup = Replace(TempGroup,NodeName&"="&ReplaceData(ReadNode(GroupName,NodeName),1),NodeName&"="&ReplaceData(NodeData,1))
Else
NewGroup = TempGroup & NodeName & "=" & ReplaceData(NodeData,1) & VbCrlf
End if

Content = Replace(Content,TempGroup,NewGroup)
End Sub


'// 删除组[参数:组名]
Public Sub DeleteGroup(GroupName)
Content = Replace(Content,GetGroup(GroupName),"")
End Sub


'// 删除节点[参数:组名,节点名]
Public Sub DeleteNode(GroupName,NodeName)
Dim TempGroup
Dim NewGroup
TempGroup = GetGroup(GroupName)
NewGroup = Replace(TempGroup,NodeName&"="&ReadNode(GroupName,NodeName)&VbCrlf,"")
if Right(NewGroup,1)<>Chr(10) Then NewGroup = NewGroup&VbCrlf
Content = Replace(Content,TempGroup,NewGroup)
End Sub


'// 替换字符[实参:替换目标,数据流向方向]
' 字符转换[防止关键符号出错]
' [ ---> {(@)}
' ] ---> {(#)}
' = ---> {($)}
' 回车 ---> {(1310)}
Public Function ReplaceData(Data_Str,IsIn)
if IsIn Then
ReplaceData = Replace(Replace(Replace(Data_Str,"[","{(@)}"),"]","{(#)}"),"=","{($)}")
ReplaceData = Replace(ReplaceData,Chr(13)&Chr(10),"{(1310)}")
Else
ReplaceData = Replace(Replace(Replace(Data_Str,"{(@)}","["),"{(#)}","]"),"{($)}","=")
ReplaceData = Replace(ReplaceData,"{(1310)}",Chr(13)&Chr(10))
End if
End Function


'// 保存文件数据
Public Sub Save()
With Stream
.Close
.Open
.WriteText Content
.SaveToFile FilePath,2
End With
End Sub


'// 关闭、释放
Public Sub Close()
Set Stream = Nothing
Set Content = Nothing
End Sub

End Class
'---------------------------------ini类完成

0
很 好
0
一 般
0
差 劲
热门新闻
相关文章
上一篇: asp将数据库的内容生成WORD文档
下一篇: ASP+MsSqlServer 存储过程分页
评论区
匿名

返回首页 | 收藏本页 | 回到顶部
Copyright 2010. 米兰百分百 Powered By Bridge.
京ICP备15050557号