ASP操作数据库的函数库

时间:2022-06-02 08:59:14
<%'*======================================
'* 名称:useDb.asp
'* 功能:数据库操作函数库
'* 作者:intereye
'* 信箱:inteye@163.com
'* 主页:http://www.inteye.net
'* BLOG:http://blog.csdn.net/intereye
'*======================================

'* 函数:openDb(dbType,dbUser,dbPass,dbName,dbServer,dbPath)
'* 功能:打开数据库连接
'* 参数:dbType->数据库类型 MDB ACCESS数据库 || SQLSERVER SQLSERVER数据库
'* 参数:dbUser->访问数据库用户名
'* 参数:dbPass->访问数据库密码
'* 参数:dbName->数据库名称
'* 参数:dbServer->数据库Host
'* 参数:dbPath->数据库路径

Function openDb(dbType,dbUser,dbPass,dbName,dbServer,dbPath)
Dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")
Select case dbType
case "MDB":
connStr = "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath(""&dbPath&dbName&"")
case "SQLSERVER":
connStr = "Provider=SQLOLEDB.1;Password="&dbPass&";Persist Security Info=True;User ID="&dbUser&";Initial Catalog="&dbName&";Data Source="&dbServer&""End Select
Conn.Open connStr
End Function
'* 函数:add(tabname,fieldlist,dblist)
'* 功能:在数据库中插入一条记录
'* 参数:tabname->数据表名
'* 参数:dblist->数据表字段名数组
'* 参数:fieldlist->表单变量名数组
'* 返回:0 false || 1 true

Function add(tabname,dblist,fieldlist)
    Sql = "Insert INTO "&tabname&"("
    Value = ""
    Field = ""
    For Each v in dblist
        Field = Field & v & ","
    Next 
    Field = Left(Field,Len(Field)-1)
    Value = Field & ") VALUES("
    For Each v in fieldlist
        If Request.Form(v) <> "" Then
            Value = Value & "'" & Request.Form(v) & "',"
        Else
            Value = Value & "'" & v & "',"
        End If
    Next
    Value = Left(Value,Len(Value)-1)
    Sql = Sql & Value & ")"
    Conn.Execute(Sql)
    CloseDb()
    If Err Then
        add = 0
    Else
        add = 1
    End If
End Function

'* 函数:update(tabname,dblist,fieldlist,id)
'* 功能:更新数据库中指定的一条记录
'* 参数:tabname->数据表名
'* 参数:dblist->数据库字段名称数组
'* 参数:fieldlist->表单变量名数组
'* 参数:id->数据ID号
'* 返回:0 false || 1 true

Function update(tabname,dblist,fieldlist,id)
    Sql = "Update " & tabname & " Set "
    Value = ""
    For i=0 to ubound(dblist)
        Value = Value & dblist(i) & "='"
        If Request.Form(fieldlist(i)) <> "" Then
            Value = Value & Request.Form(fieldlist(i)) & "',"
        Else
            Value = Value & fieldlist(i) & "',"
        End If
    Next
    
    Value = Left(Value,Len(Value)-1)
    Sql = Sql & Value & " Where id=" & id
    Conn.Execute(Sql)
    CloseDb()
    If Err Then
        update = 0
    Else
        update = 1
    End If 
End Function

'* 函数:del(tabname,id)
'* 功能:从数据库中删除一条指定记录
'* 参数:tabname->数据表名称
'* 参数:id->数据ID号
'* 返回:0 false || 1 true

Function del(tabname,id)
    Sql = "Delete FROM " & tabname & " Where id in(" & id & ")"
    Conn.Execute(Sql)
    CloseDb()
    If Err Then
        del = 0
    Else
        del = 1
    End If
End Function

'* 函数:getRow(tabname,fieldlist,caseStr)
'* 功能:从数据库中取得一行
'* 参数:tabname->数据表名
'* 参数:fieldlist->数据字段数组
'* 参数:caseStr->Sql条件语句

Function getRow(tabname,fieldlist,caseStr)
    If Not isArray(fieldlist) Then
        fieldlist = "*"
    Else
        Field = ""
        For Each val in fieldlist
            Field = Field & val & ","
        Next
        fieldlist = Left(Field,Len(Field)-1)
    End If
    
    Sql = "Select " & fieldlist & " FROM " & tabname & caseStr
    Set Rs = Conn.Execute(Sql)
    
    If Rs.Eof AND Rs.Bof Then
        getRow = 0
    Else
        getRow = 1
    End If
End Function

'* 函数:CloseDb()
'* 功能:关闭数据库连接并释放对象

Function CloseDb()
Conn.Close
Set Conn = Nothing
End Function
 

 

%>