网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 天空资源网 >> 电脑技术 >> 编程技术 >> ASP >> 电脑技术正文
  利用JSP的思想来做ASP          【字体:
利用JSP的思想来做ASP
作者:网络    电脑技术来源:www.20888.net    点击数:    更新时间:2006-12-9    
 这几天开始接触JSP里面一些BEAN的写法,然后自己想了想,认为其实在ASP里面也可以采取这一思想来做。虽然不是很纯,不彻底,但是能够把一些逻辑处理分离出来,更适合程序的移植性,提高了开发周期。我自己写了个类ConnEX包含了一些对数据库的操作,觉得应该可以包括一大部分的逻辑处理,但是这样也提高了错误几率,如果你把SQL语句控制的比较好的话,应该是利大于弊的,这里都是一点点拙见,望大家指正。

程序的功能有了个大体的框架,其实可以自己添加一些功能,比如开始的数据库连接 ,可以先设置变量然后通过INIT() 来选择不同类型的数据库

<%
'*******************************************************************************************
'*   程序:ConnEx.asp
'*
'*   描述:模仿JAVABEAN写的一个类,专门操作数据库,提供多种方法操作,但要避免SQL语法错误!
'*
'*   作者:田野 Email:Foxty@sina.com
'*
'*   日期:2005.06.0
'*******************************************************************************************


'On Error Resume Next
Class ConnEx
  public ConnEx
  public DBpath '---------数据库路径
  public DBtype '---------数据库类型 1(Access) 2(SqlServer) 3(可扩充)
  public ConnMethod '--------连接方式  (DSN,非DSN)
  public User
  public Pass
  Sub Class_initialize
  End Sub
  
  Sub Init()
     ConnStr = "Driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("Date.mdb")
     Set ConnEx = Server.Createobject("ADODB.CONNECTION")
     ConnEx.Open ConnStr
     CatchError("Class_Terminate")
  End Sub
  
  Sub CatchError( Str )
     If Err Then
        Err.Clear
        Class_Terminate()
        Response.Write("捕捉到错误,程序结束!在"&Str&"处")
        Response.End()
     End If
  End Sub
  
  '******************************************
  '*通过SQL语句来查找记录是否存在,容易出错
  '******************************************
  
  Function HasRecordBySql( Sql )
     Call CheckSql(Sql,"R")
     Dim Rs,HasR
     Set Rs = ConnEx.Execute( Sql )
     CatchError("HasReordSql")
     If Not (Rs.eof Or Rs.bof) Then
        HasR = False
     Else
        HasR = True
     End If
     Rs.Close
     Set Rs = Nothing
     HasRecordBySql = HasR
  End Function
  
  '***************************************
  '*通过ID来查找记录是否存在
  '***************************************
  
  Function HasRecordById( StrTableName , IntID )
   'CheckValue( IntID , 1 )
    Dim Rs,HasR
    Sql = "Select top 1 * from "&StrTableName&" Where Id = "&IntID
    Call CheckSql(Sql,"R")
    Set Rs = ConnEx.Execute(Sql)
    CatchError("HasRecordByID")
    If Not (Rs.eof Or Rs.bof) Then
       HasR = False
    Else
       HasR = True
    End If
    Rs.close
    Set Rs = Nothing
    HasRecordById = HasR
  End Function
  
  '**********************************************
  '*通过SQL语句取得记录集
  '**********************************************
  Function GetRsBySql( Sql )
    Call CheckSql(Sql,"R")
    Dim Rs
    Set Rs = Server.CreateObject("Adodb.RecordSet")
    Rs.Open Sql,ConnEx,1,1
    Set GetRsBySql = Rs
  End Function
  
  '*********************************************
  '*取得某个字段的值
  '*********************************************
  Function GetValueBySql( Sql )
    Call CheckSql(Sql,"R")
    Dim Rs,ReturnValue
    Set Rs = ConnEx.Execute(Sql)
    CatchError("GetValueBySql")
    If Not( Rs.Eof Or Rs.Bof ) Then
       ReturnValue = Rs(0)
    Else
       ReturnValue = "没有记录"
    End If
    Rs.Close
    Set Rs = Nothing
    GetValueBySql = ReturnValue
  End Function
  
'==================================================Update,Insert==================================================================
  
  '*********************************************
  '*利用SQL修改数据
  '*********************************************
  Function UpdateBySql( Sql )
    Call CheckSql(Sql,"w")
    ConnEx.Execute(Sql)
    CatchError("UpdateBySql")
    UpdateBySql = True  
  End Function
  
  '********************************************
  '*利用SQL语句插入数据
  '********************************************
  Function InsertBySql(Sql)
    Call CheckSql(Sql,"w")
    ConnEx.Execute(Sql)
    CatchError("InsertBySql")
   

[1] [2] 下一页

电脑技术录入:lcsnow    责任编辑:lcsnow 
  • 上一篇电脑技术:

  • 下一篇电脑技术:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    没有相关电脑技术
    Copyright @ 2006 天空资源网 All Rights Reserved
    Designed by: lcsnow E-mail: admin#seesky.net
    皖ICP备05005479号