⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cls_dbprocess2.1.asp

📁 这是一个自己研发的薪酬管理系统
💻 ASP
字号:
<%
'option explicit              '必须定义变量

'文件功能:资料库联接处理
'文件版本:2.1
%>

<!-- #include File="../Common/Cls_Setting2.1.asp" -->
<!-- #include File="../Common/Cls_Function2.1.asp" -->
<!-- #include File="../Common/Cls_Script2.1.asp" -->

<%
Class Cls_DbProcess2
'资料库联接处理
dim gStr_Connect                     '资料联接串
dim gCon_Data                        '资料联接句柄
    '*****************************************************************************************************************
    Private Sub Class_Initialize
    '功能:类初始化
    '参数:无
    '返回:无
		Set gCon_Data=Server.CreateObject ("AdoDB.Connection")
        if not ConnectToServer(CStr(GetWebDsn())) then
            Response.Write "<BR>Connect Error!<BR>Please Check Your ODBC Configuration!"
            Response.Write "<BR>联接远程资料库失败!<BR>请检查您的ODBC设置!"
            response.end
        end if 
    end sub
    '*****************************************************************************************************************
    function ConnectToServer(pStr_DSN)
    '功能:联接远程资料库
    '参数:联接串
    '返回:是否联接上
    dim Con_Data
        on error resume next
        Set Con_Data=Server.CreateObject("AdoDB.Connection")
        Con_Data.Open pStr_DSN
        Set gCon_Data=Con_Data
        if RunError then 
            ConnectToServer=False
        else
            ConnectToServer=True
        end if
    end function
    '*****************************************************************************************************************
    function DisConnect()
    '功能:中断与资料库的联接
    '参数:无
    '返回:无
        on error resume next
        gCon_Data.Close
        if RunError then 
            DisConnect=False
        else
            DisConnect=True
        end if
    end function
    '*****************************************************************************************************************
    function ExecuteSQL(pStr_Sql)
    '功能:执行远程查询
    '参数:查询语句,联接句柄
    '返回:无
        on error resume next
        gCon_Data.Execute pStr_Sql
        if RunError then 
            ExecuteSQL=False
        else
            ExecuteSQL=True
        end if
    end function
    '*****************************************************************************************************************
    function GetMaxID(pStr_Table,pStr_Field)
    '功能:读取指定表的最大系统编码
    '参数:表名,系统编码字段名
    '返回:最大系统编码
    dim Str_SQL
    dim Rec_Data
    dim Str_ID
        if trim(pStr_Table)=empty or trim(pStr_Field)=empty then
            GetMaxId="A000000001"
            exit function
        end if
    
        set Rec_Data=Server.CreateObject("AdoDB.Recordset")
        Select Case Trim(LCase(gCon_Data.Properties("DBMS Name")))
            Case "access"
                Str_SQL = "select max(clng(mid(" + Trim(pStr_Field) + ",3,10))) from " + Trim(pStr_Table)
            Case "microsoft sql server"
                Str_SQL = "select max(case when isnumeric(substring(" + Trim(pStr_Field) +",3,1000)) = 1 then convert(int,substring(" + Trim(pStr_Field) +",3,1000)) else 0 end) as maxid from "+ Trim(pStr_Table)
            Case Else
                Str_SQL = "select max(convert(int,substring(" + Trim(pStr_Field) + ",3,10))) from " + Trim(pStr_Table)
        End Select
        if RunSQLSearch(cstr(Str_SQL),Rec_Data) then
            If not Rec_Data.Eof Then
                Str_ID=cstr(trim(Rec_Data.Fields(0) &""))
                if trim(Str_ID)=empty then Str_ID="0"
                Str_ID="0000000000" + Trim(CStr(clng(Str_ID) + 1))
                GetMaxId = "A0" + Right(Str_ID, 8)
            else
                GetMaxId = "A000000001"
            End If
            Rec_Data.close
        else
            GetMaxId = "A000000001"
        End If
    end function
    '*****************************************************************************************************************
    function RunError
    '功能:存储错误信息
    '参数:无
    '返回:无
    dim File_Object
    dim Stream_Data
    dim Str_FileName
    dim Str_Error
        RunError=false
        if Err.number <>0 then
            Str_Error="System found error at ["+FormatDatetime(Date,1)+FormatDatetime(Time,3)+"], Error Information:" _
            +vbcrlf+"("+Cstr(Err.number)+")"+Trim(Err.description)
            '是否显示
            if gBol_ShowSqlError then
                response.write "<BR>" + Str_Error + "<BR>"
            end if
            '是否记录
            if gBol_RecordSqlError then
	            Str_FileName="../Common/System"+AddZero(Year(Date),4)+AddZero(Month(Date),2)+AddZero(Day(Date),2)+".Err"
	            Set File_Object=Server.CreateObject("Scripting.FileSystemObject")
	            Set Stream_Data=File_Object.OpenTextFile(Server.MapPath(Str_FileName),8,true)
	            Stream_Data.WriteLine(Str_Error)
	            Stream_Data.Close
	        end if
            RunError=True
        end if
    end function
    '*****************************************************************************************************************
    function RunSQLSearch(pStr_Sql,pRec_Data)
    '功能:查询远程资料
    '参数:查询语句,结果集(返回)
    '返回:是否成功
    Dim Rec_Data
        on error resume next
        Set Rec_Data=Server.CreateObject("AdoDb.RecordSet")
        Rec_Data.Open pStr_Sql,gCon_Data,3,1
        if RunError then 
            Set pRec_Data=nothing
            RunSQLSearch=False
        else
            Set pRec_Data=Rec_Data
            RunSQLSearch=True
        end if
    end function
    '*****************************************************************************************************************
end Class

dim gCls_DbProcess2
set gCls_DbProcess2 = new Cls_DbProcess2
%>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -