<%'*======================================
'* 名稱:useDb.asp
'* 功能:數據庫操作函數庫
'* 作者:intereye
'* 信箱:
[email protected]'* 主頁: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
%>