La plupart des applications ASP ne peuvent pas se passer d'accès et d'opérations aux bases de données, nous devons donc résumer les opérations d'accès de la pièce de la base de données séparément et les résumer dans une classe distincte. Si la langue utilisée prend en charge l'héritage, vous pouvez encapsuler une telle classe, puis les hériter au niveau de la couche de fonctionnement des données. Vous trouverez ci-dessous une classe que j'ai écrite pour Access Database Access, qui a été optimisée pour l'accès. Cependant, en raison du manque de tests d'application suffisants, il peut encore y avoir des bogues inconnus et des restrictions d'application. Le code principal est le suivant:
<%
Classoledbprivateidatapath
PrivrieConnectionStringPrivateCon
Privatecmd
Comité
PrivaterspublicProperTyletDatapath (ByValValue)
Idatapath = valeur
IconnectionString = "provider = Microsoft.Jet.oledb.4.0; DataSource =" & Server.Mappath (idatapath)
EndpropertypublicpropertygetDatapath ()
Datapath = idatapath
Endpropertypublicpropertyletconnectionstring (byValValue)
IconnectionString = valeur
EndProperTyPublicPropertyGetConnectionString ()
ConnectionString = IconnectionString
EndProperTyPublicFunctionOpenConC ()
IfConn.State = adstateClosedThen
Conn.OpenConnectionString
Endire
SetOpenCon = Conn
EndFunctionPublicFunctionInsert (ByValsQL, ByValValues)
OpenConn ()
Rs.OpenSQL, Conn, 3,3, AdcmdText
Rs.Addnew
Dimi, L
l = ubound (valeurs)
Fori = 1tol + 1
Rs (i) = valeurs (i-1)
Suivant
Rs.Update
Insert = Rs (0)
EndFunctionPublicFonctionExECUTE (BYVALSQL)
OpenConn ()
SetExecute = Conn.Execute (SQL)
EndurctionpublicfonctionExECUtesCalar (byValsQL)
Dimirs: Setirs = Execute (SQL)
Ifnotirs.boftThenexecutescalar = IRS (0)
EndurctionpublicfunctionexecutenonQuery (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)
Suivant
Rs.Update
Insertsp = rs (0)
EndFunctionPublicFonctionExecutesP (byValspname, byvalparams)
Withcmd
Set.activeConnection = OpenConn ()
.CommandText = Spname
.CommandType = & H0004