一個ACCESS數據庫訪問的類第1/3頁
2024-05-04 11:03:11
供稿:網友
大部分ASP應用,都離不開對數據庫的訪問及操作,所以,對于數據庫部分的訪問操作,我們應該單獨抽象出來,封裝成一個單獨的類。如果所用語言支持繼承,可以封裝一個這樣的類,然后在數據操作層繼承即可。下面是我寫的一個ACCESS數據庫訪問的類,針對ACCESS作了優化,不過因為缺少足夠的應用測試,可能仍然存在未知的bug及應用限制,主要代碼如下:
<%
Class Oledb Private IDataPath
Private IConnectionString Private Conn
Private Cmd
Private Param
Private Rs Public Property Let DataPath(ByVal Value)
IDataPath = Value
IConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(IDataPath)
End Property Public Property Get DataPath()
DataPath = IDataPath
End Property Public Property Let ConnectionString(ByVal Value)
IConnectionString = Value
End Property Public Property Get ConnectionString()
ConnectionString = IConnectionString
End Property Public Function OpenConn()
If Conn.State = adStateClosed Then
Conn.Open ConnectionString
End If
Set OpenConn = Conn
End Function Public Function Insert(ByVal Sql, ByVal Values)
OpenConn()
Rs.Open Sql, Conn, 3, 3, adCmdText
Rs.AddNew
Dim i, l
l = UBound(Values)
For i = 1 To l + 1
Rs(i) = Values(i - 1)
Next
Rs.Update
Insert = Rs(0)
End Function Public Function Execute(ByVal Sql)
OpenConn()
Set Execute = Conn.Execute(Sql)
End Function Public Function ExecuteScalar(ByVal Sql)
Dim iRs : Set iRs = Execute(Sql)
If Not iRs.BOF Then ExecuteScalar = iRs(0)
End Function Public Function ExecuteNonQuery(ByVal Sql)
OpenConn()
Call Conn.Execute(Sql, ExecuteNonQuery)
End Function Public Function InsertSp(ByVal Sql, ByVal Params)
OpenConn()
Rs.Open Sql, Conn, 3, 3, adCmdStoredProc
Rs.AddNew
Dim i, l
l = UBound(Params)
For i = 1 To l + 1
Rs(i) = Params(i - 1)
Next
Rs.Update
InsertSp = Rs(0)
End Function Public Function ExecuteSp(ByVal SpName, ByVal Params)
With Cmd
Set .ActiveConnection = OpenConn()
.CommandText = SpName
.CommandType = &H0004