Sebagian besar aplikasi ASP tidak dapat dilakukan tanpa akses dan operasi ke database, jadi kami harus mengabstraksi operasi akses bagian basis data secara terpisah dan merangkumnya ke dalam kelas yang terpisah. Jika bahasa yang digunakan mendukung warisan, Anda dapat merangkum kelas tersebut dan kemudian mewarisi di lapisan operasi data. Di bawah ini adalah kelas yang saya tulis untuk akses basis data Access, yang dioptimalkan untuk akses. Namun, karena kurangnya pengujian aplikasi yang memadai, mungkin masih ada bug dan pembatasan aplikasi yang tidak diketahui. Kode utamanya adalah sebagai berikut:
<%
ClassoledBprivateidatapath
PrivateIconnectionTringPrivateConn
Privatecmd
PrivateParam
PrivatersPublicPropertyletDataPath (ByvalValue)
IDATapath = nilai
IconnectionString = "provider = microsoft.jet.oledb.4.0; DataSource =" & server.mappath (idataapath)
EndPropertyPublicPropertyGetDataPath ()
Datapath = idataapath
EndPropertyPublicPropertyletConnectionString (ByvalValue)
Iconnectionstring = nilai
EndPropertyPublicPropertyGetConnectionString ()
ConnectionString = iConnectionString
EndPropertyPublicFunctionOpenconn ()
Ifconn.State = adstateClosedThen
Conn.openconnectionstring
Endif
Setopenconn = Conn
EndfunctionPublicFunctionInsert (BYVALSQL, BYVALVALUES)
OpenConn ()
Rs.opensql, conn, 3,3, adcmdtext
Rs.addnew
Dimi, l
l = ubound (nilai)
Fori = 1Tol+1
Rs (i) = nilai (i-1)
Berikutnya
Rs.update
Masukkan = rs (0)
EndFunctionPublicFunctionExecute (BYVALSQL)
OpenConn ()
Setexecute = conn.execute (sql)
EndfunctionPublicFunctionExecutescalar (BYVALSQL)
Dimirs: Setirs = Execute (SQL)
IFNOTIRS.BoftTHenExecutescalar = IRS (0)
EndfunctionPublicFunctionExecutenonQuery (BYVALSQL)
OpenConn ()
CallConn.Execute (SQL, ExecuteNonQuery)
EndFunctionPublicFunctionInsertSP (BYVALSQL, BYVALPARAMS)
OpenConn ()
Rs.opensql, conn, 3,3, adcmdstoredProc
Rs.addnew
Dimi, l
l = ubound (params)
Fori = 1Tol+1
Rs (i) = params (i-1)
Berikutnya
Rs.update
Insertsp = rs (0)
EndfunctionPublicFunctionExecutesp (ByValspname, Byvalparams)
DenganCMD
Set.activeConnection = openconn ()
.CommandText = spname
.CommandType = & H0004