ASP数据库操作类

常用数据库操作

'//=======================================================================START=
'// 程序名称 : DataBase.cls
'// 程序功能 : 网站基本信息的设定
'// 程序类型 : 顶层类模块
'// 调用方式 : 通过其他共通函数引用
'// 创建日期 : 2013-12-21 8:46:25
'// 作    者 :田辛
'// 修正履历 :
'//=============================================================================

Class clsDataBase
  '# 私有模块变量声明
  Dim c_strDataFile           ' 网站名称
  Dim c_objConn               ' 数据库连接对象

  '# 构造函数
  Private Sub Class_Initialize()
    Dim l_strDataFile         ' 数据库Access2000文件的相对地址或者绝对地址
    
    l_strDataFile = "db/Database1.mdb"
    c_strDataFile = Server.MapPath(l_strDataFile)
    
    Set c_objConn = Server.CreateObject("ADODB.Connection")
  End Sub

  '# 析构函数
  Private Sub Class_Terminate()
    On Error Resume Next
    c_objConn.Close
    On Error Goto 0
    
    Set c_objConn = Nothing
  End Sub

  '# 属性构造开始


  '# 方法构造开始
  '====================================
  ' 方法名称 : OpenDB
  ' 处    理 : 打开数据库连接
  ' 参    数 : 无
  ' 返 回 值 : True  -- 连接成功
  '            False -- 连接失败
  ' 创建日期 : 2013-12-21 9:24:38
  ' 修正履历 :
  '====================================
  Public Function OpenDB()
    Dim l_strConnString        ' 数据连接字符串 
    
    '1. 连接字符串构成
    ' 1-1. 驱动名称指定
    l_strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;"  
    ' 1-2. 数据库文件设定
    l_strConnString = l_strConnString & "Data Source=" & c_strDataFile

    ' 可能的数据库连接失败处理
    On Error Resume Next
    ' 连接动作
    c_objConn.Open l_strConnString
    
    ' 错误控制
    If Err.Number <> 0 Then
      Err.Clear
      OpenDB = NG    ' 连接失败返回False
    Else
      OpenDB = OK     ' 连接成功返回True
    End If
    
    ' 强制声明恢复错误处理
    On Error Goto 0 
  End Function
  
  '====================================
  ' 方法名称 : R
  ' 处    理 : 执行查询
  ' 参    数 : strSQL -- 查询SQL
  '            objRst -- 返回数据库连接对象 
  ' 返 回 值 : True  -- SQL执行成功
  '            False -- SQL执行失败
  ' 创建日期 : 2013-12-21 9:24:38
  ' 修正履历 :
  '====================================
  Public Function R(ByVal strSQL, ByRef objRst)
    Dim l_intCnt     ' 数据抽出件数
    
    Set objRst = Server.CreateObject("ADODB.RecordSet")
    
    ' SQL执行差错处理
    'On Error Resume Next
    
    Debug.Log "Debug", "" , strSQL
    
    ' 实际执行SQL,强制输出记录集不可更改
    objRst.Open strSQL, c_objConn, 1, 1
    
    Debug.Log "SQL", "Execute By R" , strSQL
    
    ' 错误控制
    If Err.Number <> 0 Then
      Debug.Log "Error", "DataBase.R 执行失败[" & Err.Number & "|" & Err.Description & "]" , l_strSQL
      Err.Clear
      R = NG            ' 连接失败返回False
      Set objRst = Nothing
    Else
      'Debug.Log "Debug", "SQL执行正常终了" , objRst.RecordCount
      R = objRst.RecordCount ' 连接成功返回取得的记录件数
    End If
    
    ' 强制声明恢复错误数据
    On Error Goto 0 
  End Function

  Public Function CUD(ByVal strSQL)
    Dim l_intCnt
    
    On Error Resume Next
  
    Debug.Log "SQL", "Execute By CUD" , strSQL

    c_objConn.Execute strSQL, l_intCnt
    
    If Err.Number = 0 Then
      CUD = l_intCnt
    Else
      CUD = -1
      Debug.Log "Error", "DataBase.CUD 执行失败[" & Err.Number & "|" & Err.Description & "]" , l_strSQL
    End If
    
    On Error Goto 0
  End Function
  
  Public Function YYYYMMDD()
    Dim l_strDate
    Dim l_strRst
    
    l_strDate = Now()
    
    l_strRst = CStr(Year(l_strDate)) & _
               Right("00" & Month(l_strDate), 2) & _
               Right("00" &   Day(l_strDate), 2)
               
    YYYYMMDD = l_strRst
  End Function
  
  Public Function HHMMSS()
    Dim l_strDate
    Dim l_strRst
    
    l_strDate = Now()
    
    l_strRst = Right("00" &   Hour(l_strDate), 2) & _
               Right("00" & Minute(l_strDate), 2) & _
               Right("00" & Second(l_strDate), 2) 
               
    HHMMSS = l_strRst
  End Function
End Class
'//=========================================================================END=


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

田辛 | 田豆芽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值