濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 一個(gè)ACCESS數(shù)據(jù)庫(kù)訪問(wèn)的類(lèi)第1/3頁(yè)

一個(gè)ACCESS數(shù)據(jù)庫(kù)訪問(wèn)的類(lèi)第1/3頁(yè)

熱門(mén)標(biāo)簽:鎮(zhèn)江云外呼系統(tǒng)怎么樣 vue 地圖標(biāo)注拖拽 電話機(jī)器人銷(xiāo)售公司嗎 保定電銷(xiāo)機(jī)器人軟件 成都銷(xiāo)售外呼系統(tǒng)公司 自動(dòng)外呼系統(tǒng)怎么防止封卡 土地證宗地圖標(biāo)注符號(hào) 電話機(jī)器人案例 客服外呼系統(tǒng)呼叫中心
大部分ASP應(yīng)用,都離不開(kāi)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)及操作,所以,對(duì)于數(shù)據(jù)庫(kù)部分的訪問(wèn)操作,我們應(yīng)該單獨(dú)抽象出來(lái),封裝成一個(gè)單獨(dú)的類(lèi)。如果所用語(yǔ)言支持繼承,可以封裝一個(gè)這樣的類(lèi),然后在數(shù)據(jù)操作層繼承即可。下面是我寫(xiě)的一個(gè)ACCESS數(shù)據(jù)庫(kù)訪問(wèn)的類(lèi),針對(duì)ACCESS作了優(yōu)化,不過(guò)因?yàn)槿鄙僮銐虻膽?yīng)用測(cè)試,可能仍然存在未知的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" '這里寫(xiě)你的數(shù)據(jù)庫(kù)默認(rèn)路徑,建議更改名稱(chēng)及擴(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下一頁(yè)閱讀全文

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《一個(gè)ACCESS數(shù)據(jù)庫(kù)訪問(wèn)的類(lèi)第1/3頁(yè)》,本文關(guān)鍵詞  一個(gè),ACCESS,數(shù)據(jù)庫(kù),訪問(wèn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《一個(gè)ACCESS數(shù)據(jù)庫(kù)訪問(wèn)的類(lèi)第1/3頁(yè)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于一個(gè)ACCESS數(shù)據(jù)庫(kù)訪問(wèn)的類(lèi)第1/3頁(yè)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    开鲁县| 长沙县| 六安市| 延庆县| 五峰| 阿拉善盟| 安溪县| 布尔津县| 雷山县| 涟水县| 天门市| 枞阳县| 当雄县| 增城市| 南京市| 托里县| 上饶县| 叙永县| 天等县| 车险| 吉木萨尔县| 谢通门县| 彭阳县| 镇康县| 玉门市| 甘德县| 阿巴嘎旗| 岫岩| 琼海市| 越西县| 邹平县| 土默特右旗| 青铜峡市| 永福县| 荣成市| 锦州市| 成武县| 遵义市| 碌曲县| 壶关县| 呼和浩特市|