📄 cls_dbprocess2.1.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 + -