ASP的javabean新用法-纯对象建站(原创)
最近做了一个快餐网网站(http://www.comelife.com),最开始采用的技术是strut+hibernate+spring框架技术,不过后来考虑了下本来就是一个小网站,何况JSP的空间相对ASP空间来说贵了很多,就半途舍弃了,从而选择ASP技术支持!
在前期开发的时候设想了下,能不能做一个安全性更高,灵活性更高!可以基于这个平台演变成很多种,使自己以后开发ASP网站或做系统时都能有一个标准!
最后分析出尝试把JSP的javabean技术引用到ASP中来,说干就干,开始设计数据库,尝试着写一套公用的超做数据库的方法,公用的报错方法,验证方法!
在此贴出一部分
'// 提示框
Sub CueBox(CueBoxContent,CueURL)
Select Case CueURL
Case -1
'// 后退
Response.Write("<Script Language=""JavaScript"">alert('"& Replace( Replace( CueBoxContent , "'" , "\'" ) , """" , "\""" ) &"');window.location.href='JavaScript:history.go(-1)';</Script>")
Case -2
'// 关闭页面
Response.Write("<Script Language=""JavaScript"">alert('"& Replace( Replace( CueBoxContent , "'" , "\'" ) , """" , "\""" ) &"');window.close();</Script>")
Case -3
'// 弹出窗口
Response.Write("<Script Language=""JavaScript"">alert('"& Replace( Replace( CueBoxContent , "'" , "\'" ) , """" , "\""" ) &"');</Script>")
Exit Sub
Case Else
'// 跳转到某页
Response.Write("<Script Language=""JavaScript"">alert('"& Replace( Replace( CueBoxContent , "'" , "\'" ) , """" , "\""" ) &"');window.location.href='"& CueURL &"';</Script>")
End Select
Response.End()
End Sub
'==================================================
'函数名:ExeSql
'作 用:执行Sql语句.
'参 数: Sql --- 要执行的Sql语句
' Where -- SQl条件
' Type --- 执行模式
' Set 对象模式
' Page 分页模式
' Else 普通模式
'==================================================
Function SqlExe(Sql,StrWhere_,StrType)
'On Error Resume Next
Dim T_Rs
Select Case StrType
Case "Set"
If StrWhere_ = "" Then
Set SqlExe = Conn.Execute(Sql)
Connection_Num = Connection_Num + 1
Else
Set SqlExe = Conn.Execute(Sql & "Where" & StrWhere_)
Connection_Num = Connection_Num + 1
End If
Case "Page"
'// Sql = 表名
'// StrWhere_ = 条件
If StrWhere_ = "" Then
TotalNumber = Conn.Execute("Select Count(ID) From ["& Sql &"]")(0)
If CurrentPage = 1 Then
Sql = "Select Top " & PageSizer & " * From ["& Sql &"] Order By ID Desc"
Else
Sql = "Select Top " & PageSizer & " * From ["& Sql &"] Where Id < (Select Min(Id) As TempII From (Select Top "&(CurrentPage-1)*PageSizer&" [Id] From ["& Sql &"] Order By Id Desc) As TempTopn) Order By Id Desc"
End IF
Else
TotalNumber = Conn.Execute("Select Count(ID) From ["& Sql &"] Where "& StrWhere_ &"")(0)
If CurrentPage = 1 Then
Sql = "Select Top " & PageSizer & " * From ["& Sql &"] Where "& StrWhere_ &" Order By ID Desc"
Else
Sql = "Select Top "&PageSizer&" * From ["& Sql &"] Where "& StrWhere_ &" And Id <(Select Min(Id) As TempII From (Select Top "&(CurrentPage-1)*PageSizer&" ID From ["& Sql &"] Where "& StrWhere_ &" Order By Id Desc) As TempTopn) Order By Id Desc"
End If
End If
Set T_Rs = Conn.Execute(Sql)
If Not T_Rs.Bof Then SqlExe = T_Rs.GetRows()
T_Rs.Close
Set T_Rs = Nothing
Connection_Num = Connection_Num + 2
Case "Conn"
If StrWhere_ = "" Then
Conn.Execute(Sql)
Connection_Num = Connection_Num + 1
Else
Conn.Execute(Sql & " Where " & StrWhere_)
Connection_Num = Connection_Num + 1
End If
Case "Fun"
'// sql -- 表名
'// StrWhere_ -- 条件
SqlExe = Conn.Execute(Sql)(0)
Connection_Num = Connection_Num + 1
Case "Arr"
Set T_Rs = Conn.Execute(Sql)
If Not T_Rs.Bof Then
SqlExe = T_Rs.GetRows()
End If
T_Rs.Close
Set T_Rs = Nothing
Connection_Num = Connection_Num + 1
Case Else
Response.Write "无数据库操作!"
End Select
'//错误处理
If Err.Number <> 0 Then
Connection_Num = 0
Err.Clear
Response.Write "数据库连接错误!<Br>详细信息:无效Sql语句..请检查数据连接是否正确!</br>"&sql
Response.End()
End if
End Function