|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
缺点:正版成本价格贵(盗版就不说了)、不够安全,大多数服务器用windows系统,没有linux安全数据|数据库 ASP的数据库类
1、媒介
提到ASP操作数据库,大多半人会想到:共用的毗连字串ConStr、Conn.Open ConStr创立数据库毗连、Conn.Execute SqlCmd体例履行号令、RecordSet.Open Sql,Conn,1,1获得纪录集,切实其实这类办法被99%的人或公司采取。关于操作数据库过程当中发生的毛病,生怕99%的人不会停止处置,要末在法式的开首到场on error resume next“轻松”跳曩昔、要末让毛病信息连同毛病代码一同“暴尸”在阅读者眼前。关于前一种情形能够会发生让人莫明其妙的奇异了局,后一种情形,能够会在某个工夫(好比毗连数据库时)表露您的敏感信息,影响网站平安。固然,仍是有一般担任的法式员同志会在轻易发生毛病的操作前面到场if err.xxxx来处置能够的毛病,但这仿佛不是一个好举措,一不当心便可能漏失落了。
我至今也没有想分明,为何在VB和ASP.NET中都存在的On Error Goto,恰恰在ASP中被作废了。
别的不能不提的是,当您在后面利用on error resume next而在前面不想resume next了,对不起,没举措,您只能把它“贯彻究竟”。看看其它言语的异常机制,try..catch..finally为所欲为,真是爽酷了!
说了这么多,其实不要为ASP引入诸如异常机制等新的内容,究竟ASP言语自己也决意这是不成能完成的(ASP.NET中完成了),只是想在ASP中最广泛的也是最轻易呈现毛病的数据库操作中,找到一种无效的毛病处置体例,并把conn、RecordSet等封装起来,到达最大限制的精简。因而便有了上面的数据库类。
2、数据库类
1、功效
正如后面所说,这个类的目标是把ADODB.Connection、Adodb.Recordset等烦琐的操作封装起来并在类里完成毛病处置。如今看看类的成员、属性和办法:
1)成员:(没有私有或回护成员)
2)属性:
ClassName-前往类名
Version-前往版本
LastError-前往最初的毛病
IgnoreError-设置/前往是不是疏忽数据库毛病
Connection-前往毗连对象(ADODB.Connection)
ConnectionString-设置/前往毗连字串(本示例为SQL Server,如为其它请依据实践设定)
FieldCount、PageSize、PageCount、AbsolutePage、AbsolutePosition、Bof、Eof-请参考Adodb.Recordset响应内容
3)办法:
Setup-设置毗连数据办事器的帐号、暗码、数据库名、主机/IP
Connect-毗连数据库
Close-封闭数据库毗连并释放资本
Query-履行数据库查询号令并前往数据集
ExeSQL-履行SQL号令(不前往数据库)
FieldName-前往指定序号的字段名
Fields-前往指定的(序号或字段名)字段的值
Data-同上
MoveNext、MovePrevious、MoveFirst、MoveLast-请参考Adodb.Recordset响应内容
2、完成代码(DBSql.inc.asp)
内容太长,点击此处翻开/折叠...
<%
'=======================================================================
' CLASS NAME: clsDB
' DESIGN BY : 彭国辉
' DATE: 2003-12-18
' SITE: http://kacarton.yeah.net/
' EMAIL: kacarton@sohu.com
' MODIFY:
' 2004-6-25: 晋级后的数据引擎,前往毛病代号小于0(也能够是ASP对数值的
' 界说有变),修正毛病检测err.number>0 ==> err.number<>0
' 2004-6-30:修正毛病处置,疏忽如游标类型改动等非毛病性质的提醒
'=======================================================================
Class clsDB
' name of this class
' var string
' @access Private
' @see property: Name
Private m_strName
' version of this class
' var string
' @access Private
' @see property: Version
Private m_strVersion
' Error Object
' @var ADODB.Connection.Errors
' @access private
' @see property: LastError
Private m_LastError
' Ingore all Connection.Errors
' var Boolean
' @access private
' @see property: IgnoreError
Private m_IgnoreError
' Connection Object
' var ADODB.Connection
' @access Private
' @see property: Connection
Private m_Connection
' Is connection to database?
' var boolean
' @Private
Private m_bIsConnect
' RecordSet
' var RecordSet
' @access Private
Private m_RecordSet
' Connection string
' var string
' @access Private
' @see property: ConnectionString
Private m_ConneStr
' Database server host name or IP
' var string
' @access Private
' @see property: Host
Private m_strHost
' Database name
' var string
' @access Private
' @see property: Database
Private m_strDatabase
' Account to connection database
' var string
' @access Private
' @see property: UserName
Private m_UserName
' Password to connection database
' var string
' @access Private
' @see property: Password
Private m_Password
' get class name attribute.
' usage: oTemplate.Name
' access public
Public Property Get ClassName()
ClassName = m_strName
End Property
' get class version attribute.
' usage: oTemplate.Version
' access public
Public Property Get Version()
Version = m_strVersion
End Property
' Get class last error messages.
' usage: oTemplate.LastError
' @access public
Public Property Get LastError()
LastError = m_LastError
End Property
' Get or Set Ignore connection.errors
Public Property Get IgnoreError()
IgnoreError = m_IgnoreError
End Property
Public Pro</p> 写软件都是想的时间比写的时间要长的.如果反过来了就得看看是什么原因了. 另外大家可以回去问问公司里的小MM.(一般企业里,跟你们交付软件接触得最多的是她们) |
|