대부분의 ASP 응용 프로그램은 데이터베이스에 대한 액세스 및 작업 없이는 수행 할 수 없으므로 데이터베이스 부품의 액세스 작업을 별도로 추상화하고 별도의 클래스로 캡슐화해야합니다. 사용 된 언어가 상속을지지하는 경우 해당 클래스를 캡슐화 한 다음 데이터 작업 계층에서 상속받을 수 있습니다. 아래는 액세스 데이터베이스 액세스를 위해 쓴 클래스이며 액세스에 최적화되었습니다. 그러나 충분한 응용 프로그램 테스트가 없기 때문에 여전히 알려지지 않은 버그 및 응용 프로그램 제한이있을 수 있습니다. 기본 코드는 다음과 같습니다.
<%
classoledbprivateidatapath
privateiconnectionstringprivateconn
privatecmd
개인 파람
privaterspublicpropertyletdatapath (byvalvalue)
idatapath = value
iconnectionstring = "제공자 = microsoft.jet.oledb.4.0; dataSource ="& server.mappath (idatapath)
endpropertypublicpropertygetDatapath ()
datapath = idatapath
endpropertypublicpropertyletconnectionstring (byvalvalue)
iconnectionstring = value
endpropertypublicpropertygetConnectionstring ()
ConnectionString = IconnectionString
endProperTyPublicFunctionOpenConn ()
ifconn.state = adstateClosedthen
Conn.openConnectionString
endif
setopenconn = conn
endFunctionPublicFunctionInsert (byvalsql, byvalvalues)
OpenConn ()
Rs.Opensql, Conn, 3,3, AdcmdText
rs.addnew
디미, l
l = ubound (값)
fori = 1tol+1
RS (I) = 값 (I-1)
다음
Rs.update
삽입 = 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, AdcmdstordProc
rs.addnew
디미, l
l = ubound (params)
fori = 1tol+1
rs (i) = params (i-1)
다음
Rs.update
insertsp = rs (0)
endFunctionPublicFunctionExecutesp (ByValspName, ByValparams)
Withcmd
set.activeConnection = openconn ()
.commandText = spname
.commandtype = & H0004