濮阳杆衣贸易有限公司

主頁 > 知識庫 > 一個(gè)ACCESS數(shù)據(jù)庫訪問的類第1/3頁

一個(gè)ACCESS數(shù)據(jù)庫訪問的類第1/3頁

熱門標(biāo)簽:鎮(zhèn)江云外呼系統(tǒng)怎么樣 vue 地圖標(biāo)注拖拽 電話機(jī)器人銷售公司嗎 保定電銷機(jī)器人軟件 成都銷售外呼系統(tǒng)公司 自動(dòng)外呼系統(tǒng)怎么防止封卡 土地證宗地圖標(biāo)注符號 電話機(jī)器人案例 客服外呼系統(tǒng)呼叫中心
大部分ASP應(yīng)用,都離不開對數(shù)據(jù)庫的訪問及操作,所以,對于數(shù)據(jù)庫部分的訪問操作,我們應(yīng)該單獨(dú)抽象出來,封裝成一個(gè)單獨(dú)的類。如果所用語言支持繼承,可以封裝一個(gè)這樣的類,然后在數(shù)據(jù)操作層繼承即可。下面是我寫的一個(gè)ACCESS數(shù)據(jù)庫訪問的類,針對ACCESS作了優(yōu)化,不過因?yàn)槿鄙僮銐虻膽?yīng)用測試,可能仍然存在未知的bug及應(yīng)用限制,主要代碼如下:
%
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
.Prepared = True
Set ExecuteSp = .Execute(,Params)
End With
End Function Public Function ExecuteDataTableSp(ByVal SpName, ByVal Params)
OpenConn()
If Rs.State > adStateClose Then
Rs.Close()
End If
Dim SpStr
If IsNull(Params) Or IsEmpty(Params) Then
SpStr = SpName
Else
If IsArray(Params) Then
SpStr = "Execute "  SpName  " "  Join(Params, ",")
Else
SpStr = "Execute "  SpName  " "  Params
End If
End If
Call Rs.Open(SpStr, Conn, 1, 1, adCmdStoredProc)
Set ExecuteDataTableSp = Rs
End Function Public Function ExecuteScalarSp(ByVal SpName, ByVal Params)
Dim iRs : Set iRs = ExecuteSp(SpName, Params)
If Not iRs.BOF Then ExecuteScalarSp = iRs(0)
End Function Public Function ExecuteNonQuerySp(ByVal SpName, ByVal Params)
With Cmd
Set .ActiveConnection = OpenConn()
.CommandText = SpName
.CommandType = H0004
.Prepared = True
Call .Execute(ExecuteNonQuerySp, Params)
End With
End Function Private Sub Class_Initialize()
Set Conn = Server.CreateObject("ADODB.Connection")
Set Cmd = Server.CreateObject("ADODB.Command")
Set Param = Server.CreateObject("ADODB.Parameter")
Set Rs = Server.CreateObject("ADODB.RecordSet")
DataPath = "/data/data.mdb" '這里寫你的數(shù)據(jù)庫默認(rèn)路徑,建議更改名稱及擴(kuò)展名
End Sub
Private Sub Class_Terminate()
Set Param = Nothing
Set Cmd = Nothing
CloseRs()
CloseConn()
End Sub Private Sub CloseConn()
If Conn.State > adStateClose Then
Conn.Close()
Set Conn = Nothing
End If
End Sub Private Sub CloseRs()
If Rs.State > adStateClose Then
Rs.Close()
Set Rs = Nothing
End If
End Sub End Class
%> 
123下一頁閱讀全文

標(biāo)簽:麗江 成都 重慶 內(nèi)江 臺灣 公主嶺 懷化 天津

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《一個(gè)ACCESS數(shù)據(jù)庫訪問的類第1/3頁》,本文關(guān)鍵詞  一個(gè),ACCESS,數(shù)據(jù)庫,訪問,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《一個(gè)ACCESS數(shù)據(jù)庫訪問的類第1/3頁》相關(guān)的同類信息!
  • 本頁收集關(guān)于一個(gè)ACCESS數(shù)據(jù)庫訪問的類第1/3頁的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    嵩明县| 隆回县| 中超| 凯里市| 财经| 隆德县| 铜梁县| 滨海县| 深州市| 都江堰市| 正蓝旗| 亚东县| 敖汉旗| 宣化县| 阜城县| 衡东县| 望城县| 手游| 衡南县| 鄂尔多斯市| 高雄县| 台中市| 拜泉县| 宜兰县| 偏关县| 扎囊县| 平遥县| 津南区| 中江县| 时尚| 葵青区| 突泉县| 尼勒克县| 皮山县| 内江市| 大庆市| 丁青县| 丰城市| 渭南市| 唐山市| 丰顺县|