La mayoría de las aplicaciones ASP no pueden prescindir de acceso y operaciones a bases de datos, por lo que debemos abstraer las operaciones de acceso de la parte de la base de datos por separado y encapsularlas en una clase separada. Si el lenguaje utilizado admite la herencia, puede encapsular dicha clase y luego heredarla en la capa de operación de datos. A continuación se muestra una clase que escribí para el acceso a la base de datos de acceso, que estaba optimizada para el acceso. Sin embargo, debido a la falta de pruebas de aplicación suficientes, aún puede haber errores desconocidos y restricciones de aplicación. El código principal es el siguiente:
<%
Classoledbprivateidatapath
PrivateConnectionsTringprivateConn
PrivateCMD
Parada privada
Privaterspublicpropertyletdatapath (Byvalvalue)
Idatapath = valor
IconnectionString = "Provider = Microsoft.Jet.OLEDB.4.0; DataSource =" & Server.Mappath (Idatapath)
Endpropertypublicpropertygetdatapath ()
Datapath = idatapath
EndpropertypublicPropertyletConnectionString (ByValvalue)
IconnectionString = valor
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 (valores)
Fori = 1Tol+1
Rs (i) = valores (I-1)
Próximo
Rs.
Insert = RS (0)
EndFunctionPublicFunctionExeCute (Byvalsql)
OpenConn ()
SetExecute = conn.execute (SQL)
EndFunctionPublicFunctionExecutesCalar (Byvalsql)
Dimirs: setirs = ejecute (sql)
Ifnotirs.boftthenexecutescalar = irs (0)
EndFunctionPublicFunctionExecutenQuery (byvalsql)
OpenConn ()
CallConn.Execute (SQL, ExecutenOnQuery)
EndFunctionPublicFunctionInsertsp (Byvalsql, ByvalParams)
OpenConn ()
Rs.Opensql, Conn, 3,3, AdcmdStoredProc
Rs.addnew
Dimi, l
L = Ubound (parámetros)
Fori = 1Tol+1
Rs (i) = params (I-1)
Próximo
Rs.
Inserts = rs (0)
EndFunctionPublicFunctionExeCutesp (byvalspName, byvalparams)
Con cmd
Set.ActIVeconnection = OpenConn ()
.CommandText = spname
.CommandType = & H0004