六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

使用JSP的思想來做ASP

[摘要]這幾天開始接觸JSP里面一些BEAN的寫法,然后自己想了想,認為其實在ASP里面也可以采取這一思想來做。雖然不是很純,不徹底,但是能夠把一些邏輯處理分離出來,更適合程序的移植性,提高了開發周期。我自己寫了個類ConnEX包含了一些對數據庫的操作,覺得應該可以包括一大部分的邏輯處理,但是這樣也提高了...

這幾天開始接觸JSP里面一些BEAN的寫法,然后自己想了想,認為其實在ASP里面也可以采取這一思想來做。雖然不是很純,不徹底,但是能夠把一些邏輯處理分離出來,更適合程序的移植性,提高了開發周期。我自己寫了個類ConnEX包含了一些對數據庫的操作,覺得應該可以包括一大部分的邏輯處理,但是這樣也提高了錯誤幾率,如果你把SQL語句控制的比較好的話,應該是利大于弊的,這里都是一點點拙見,望大家指正。

程序的功能有了個大體的框架,其實可以自己添加一些功能,比如開始的數據庫連接 ,可以先設置變量然后通過INIT() 來選擇不同類型的數據庫

<%
'*******************************************************************************************
'* 程序:ConnEx.asp
'*
'* 描述:模仿JAVABEAN寫的一個類,專門操作數據庫,提供多種方法操作,但要避免SQL語法錯誤!
'*
'* 作者:田野 Email:[email protected]
'*
'* 日期:2005.06.0
'*******************************************************************************************

'On Error Resume Next
Class ConnEx
public ConnEx
public DBpath '---------數據庫路徑
public DBtype '---------數據庫類型 1(Access) 2(SqlServer) 3(可擴充)
public ConnMethod '--------連接方式 (DSN,非DSN)
public User
public Pass
Sub Class_initialize
End Sub

Sub Init()
ConnStr = "Driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("Date.mdb")
Set ConnEx = Server.Createobject("ADODB.CONNECTION")
ConnEx.Open ConnStr
CatchError("Class_Terminate")
End Sub

Sub CatchError( Str )
If Err Then
Err.Clear
Class_Terminate()
Response.Write("捕捉到錯誤,程序結束!在"&Str&"處")
Response.End()
End If
End Sub

'******************************************
'*通過SQL語句來查找記錄是否存在,容易出錯
'******************************************

Function HasRecordBySql( Sql )
Call CheckSql(Sql,"R")
Dim Rs,HasR
Set Rs = ConnEx.Execute( Sql )
CatchError("HasReordSql")
If Not (Rs.eof Or Rs.bof) Then
HasR = False
Else
HasR = True
End If
Rs.Close
Set Rs = Nothing
HasRecordBySql = HasR
End Function

'***************************************
'*通過ID來查找記錄是否存在
'***************************************

Function HasRecordById( StrTableName , IntID )
'CheckValue( IntID , 1 )
Dim Rs,HasR
Sql = "Select top 1 * from "&StrTableName&" Where Id = "&IntID
Call CheckSql(Sql,"R")
Set Rs = ConnEx.Execute(Sql)
CatchError("HasRecordByID")
If Not (Rs.eof Or Rs.bof) Then
HasR = False
Else
HasR = True
End If
Rs.close
Set Rs = Nothing
HasRecordById = HasR
End Function

'**********************************************
'*通過SQL語句取得記錄集
'**********************************************
Function GetRsBySql( Sql )
Call CheckSql(Sql,"R")
Dim Rs
Set Rs = Server.CreateObject("Adodb.RecordSet")
Rs.Open Sql,ConnEx,1,1
Set GetRsBySql = Rs
End Function

'*********************************************
'*取得某個字段的值
'*********************************************
Function GetValueBySql( Sql )
Call CheckSql(Sql,"R")
Dim Rs,ReturnValue
Set Rs = ConnEx.Execute(Sql)
CatchError("GetValueBySql")
If Not( Rs.Eof Or Rs.Bof ) Then
ReturnValue = Rs(0)
Else
ReturnValue = "沒有記錄"
End If
Rs.Close
Set Rs = Nothing
GetValueBySql = ReturnValue
End Function

'==================================================Update,Insert==================================================================

'*********************************************
'*利用SQL修改數據
'*********************************************
Function UpdateBySql( Sql )
Call CheckSql(Sql,"w")
ConnEx.Execute(Sql)
CatchError("UpdateBySql")
UpdateBySql = True
End Function

'********************************************
'*利用SQL語句插入數據
'********************************************
Function InsertBySql(Sql)
Call CheckSql(Sql,"w")
ConnEx.Execute(Sql)
CatchError("InsertBySql")
InsertBySql = True
End Function

'======================================================Delete=============================================================

'********************************************
'*通過SQL語句刪除
'********************************************
Function DeleteBySql( Sql )
Call CheckSql(Sql,"D")
ConnEx.Execute(Sql)
CatchError("DeleteBySql")
DeleteBySql = True
End Function

'********************************************
'*檢查SQL語句權限,根據標志Flag 來檢測語句擁有的權限
'********************************************
Sub CheckSql( Sql , Flag )
Dim StrSql,SinCounts,DouCounts,i
StrSql = Lcase(Sql)
SinCounts = 0
DouCounts = 0
For i = 1 to Len(StrSql)
If Mid(StrSql,i,1) = "'" Then SinCounts = SinCounts + 1
If Mid(StrSql,i,1) = """" Then DouConnts = DouCounts + 1
Next

If (SinCounts Mod 2) <> 0 Or (DouCounts Mod 2) <> 0 Or Instr(StrSql,";") > 0 Then
Call Class_Terminate()
Response.Write("SQL語法錯誤!")
Response.End()
End If
Select Case Flag
Case "R","r":
If Instr(StrSql,"delete") > 0 Or Instr(StrSql,"update") Or Instr(StrSql,"drop") > 0 Or Instr(StrSql,"insert") > 0 Then
Class_Terminate()
Response.Write("權限不足,沒有執行寫操作的權限")
Response.End()
End If
Case "W","w":
If Instr(StrSql,"delete") > 0 Or Instr(StrSql,"drop") > 0 Or Instr(StrSql,"select") > 0 Then
Class_Terminate()
Response.Write("權限不足,沒有執行刪除操作的權限")
Response.End()
End If
Case "D","d":
Case Else:
Response.Write("函數CheckSql標志錯誤!")
End Select
End Sub

Sub Class_Terminate
If Not IsEmpty(FriendConn) Then
FriendConn.Close
Set FriendConn = Nothing
CatchError()
End If
End Sub
End Class
%>





主站蜘蛛池模板: 色综合久久五月 | 天天宗合网 | 天堂资源中文官网 | 偷窥综合网 | 色综合天天综合网国产成人 | 日韩人成免费网站大片 | 四虎成人在线视频 | 亚洲视频日韩视频 | 色噜噜狠狠色综合中国 | 夜夜爽天天狠狠九月婷婷 | 四虎影院地址 | 污视频在线观看视频 | 热思思久久 | 日韩一级大片 | 天天干天天操天天射 | 中文在线第一页 | 无码精品一区二区三区免费视频 | 亚洲小视频网站 | 一级做a毛片免费视频 | 日本一区二区三区久久 | 欧美综合图片区 | 色黄网站在线观看 | 欧美一级高清视频在线播放 | 亚洲色啦啦狠狠网站 | 特黄十八岁大片 | 亚洲国产欧美另类 | 欧美一级影院 | 日韩一区二紧身裤 | 在线观看亚洲一区二区 | 一二三四影院免费观看 | 日本亚欧乱色视频在线观看 | 日韩资源 | 欧美性猛交xxxx乱大交蜜桃 | 亚洲永久免费视频 | 一级黄色免费观看 | 亚洲欧洲免费 | 五月婷婷综合激情 | 欧洲激情视频 | 欧美怡红院免费的视频 | 日韩欧美不卡 | 日韩美女免费线视频网址 |