时间:2021-05-25
大部分ASP应用,都离不开对数据库的访问及操作,所以,对于数据库部分的访问操作,我们应该单独抽象出来,封装成一个单独的类。如果所用语言支持继承,可以封装一个这样的类,然后在数据操作层继承即可。下面是我写的一个ACCESS数据库访问的类,针对ACCESS作了优化,不过因为缺少足够的应用测试,可能仍然存在未知的bug及应用限制,主要代码如下:
<%
ClassOledbPrivateIDataPath
PrivateIConnectionStringPrivateConn
PrivateCmd
PrivateParam
PrivateRsPublicPropertyLetDataPath(ByValValue)
IDataPath=Value
IConnectionString="Provider=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
Dimi,l
l=UBound(Values)
Fori=1Tol+1
Rs(i)=Values(i-1)
Next
Rs.Update
Insert=Rs(0)
EndFunctionPublicFunctionExecute(ByValSql)
OpenConn()
SetExecute=Conn.Execute(Sql)
EndFunctionPublicFunctionExecuteScalar(ByValSql)
DimiRs:SetiRs=Execute(Sql)
IfNotiRs.BOFThenExecuteScalar=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)
Next
Rs.Update
InsertSp=Rs(0)
EndFunctionPublicFunctionExecuteSp(ByValSpName,ByValParams)
WithCmd
Set.ActiveConnection=OpenConn()
.CommandText=SpName
.CommandType=&H0004
.Prepared=True
SetExecuteSp=.Execute(,Params)
EndWith
EndFunctionPublicFunctionExecuteDataTableSp(ByValSpName,ByValParams)
OpenConn()
IfRs.State<>adStateCloseThen
Rs.Close()
EndIf
DimSpStr
IfIsNull(Params)OrIsEmpty(Params)Then
SpStr=SpName
Else
IfIsArray(Params)Then
SpStr="Execute"&SpName&""&Join(Params,",")
Else
SpStr="Execute"&SpName&""&Params
EndIf
EndIf
CallRs.Open(SpStr,Conn,1,1,adCmdStoredProc)
SetExecuteDataTableSp=Rs
EndFunctionPublicFunctionExecuteScalarSp(ByValSpName,ByValParams)
DimiRs:SetiRs=ExecuteSp(SpName,Params)
IfNotiRs.BOFThenExecuteScalarSp=iRs(0)
EndFunctionPublicFunctionExecuteNonQuerySp(ByValSpName,ByValParams)
WithCmd
Set.ActiveConnection=OpenConn()
.CommandText=SpName
.CommandType=&H0004
.Prepared=True
Call.Execute(ExecuteNonQuerySp,Params)
EndWith
EndFunctionPrivateSubClass_Initialize()
SetConn=Server.CreateObject("ADODB.Connection")
SetCmd=Server.CreateObject("ADODB.Command")
SetParam=Server.CreateObject("ADODB.Parameter")
SetRs=Server.CreateObject("ADODB.RecordSet")
DataPath="/data/data.mdb"'这里写你的数据库默认路径,建议更改名称及扩展名
EndSub
PrivateSubClass_Terminate()
SetParam=Nothing
SetCmd=Nothing
CloseRs()
CloseConn()
EndSubPrivateSubCloseConn()
IfConn.State<>adStateCloseThen
Conn.Close()
SetConn=Nothing
EndIf
EndSubPrivateSubCloseRs()
IfRs.State<>adStateCloseThen
Rs.Close()
SetRs=Nothing
EndIf
EndSubEndClass
%>
123下一页阅读全文
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、数据库连接语句1、MSSQL数据库链接示例2、Access2003数据库链接示例:"{0}"代表根目录Access2007或以上版本的链接3、Oracle数
ViewCode复制代码代码如下:访问数据库的通用代码实例1.请输入相应数据库连接字符串2.请输入相应SQL查询命令语句3.请选择所连接的数据库类型Access
1、新建一个springboot项目2.定义个切面类,并指定切入点,获取所需记录信息(如:访问人IP,访问地址,访问地址名称等)3.新建数据库SETFOREIG
本文实例讲述了C#实现的ACCESS数据库操作类。分享给大家供大家参考,具体如下:这个是针对ACCESS数据库操作的类,同样也是从SQLHELPER提取而来,分
很多Access和SQLServer开发人员都经常面临着将一个Access数据库升级到SQLServer数据库的问题。由于存在现有的Access升级向导,这一转