普通ASP编辑器 For Access 源代码
发表于:2007-06-30来源:作者:点击数:
标签:
% ‘’ Generic ASP Editor for Access Tables ‘’ Version 1.01 - 9 November 1999 ‘’ ?Roman Koch ‘’ ===================================================================== ‘’ Your customisations go here ‘’ ==============================
<%
‘’ Generic ASP Editor for A
clearcase/" target="_blank" >ccess Tables
‘’ Version 1.01 - 9 November 1999
‘’ ?Roman Koch
‘’ =====================================================================
‘’ Your customisations go here
‘’ =====================================================================
‘’ Enter the name of the system DSN
Session("myDSN") = "MP3"
‘’ Enter the name of the table you want to edit
‘’ Note: For text fields, the "Allow Zero Length" attribute must be set to YES
Session("myTable") = "Customer"
‘’ Enter the name of the Primary Key field
‘’ Note: The Primary Key MUST be a "Autonumber"-type field
Session("myKey") = "CustomerID"
‘’ =====================================================================
‘’ End of the customisation section
‘’ =====================================================================
Dim objConn
If isObject(Session("dsnDefined")) Then
Set objConn = Session("dsnDefined")
Else
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open Session("myDSN")
Set Session("dsnDefined") = objConn
End If
strMyOwnPath = Request.Servervariables("PATH_INFO")
intStart = InstrRev(strMyOwnPath,"/",-1,1)
strMyName = Mid(strMyOwnPath,intStart+1)
Session("myName") = strMyName
strAction = Request.Querystring("action")
lngRecord = Request.Querystring("num")
Select Case strAction
Case "list" ‘’list all records
Call editList()
Case "update" ‘’Get the current record and display in a form for editing
Call editUpdate(lngRecord)
Case "updateExec" ‘’Save the changes
Call editUpdateExec(lngRecord)
Case "insert" ‘’Display an empty form for entering a new record
Call editInsert()
Case "insertExec" ‘’Save the new record
Call editInsertExec()
Case "delete" ‘’Display the current record so deletion can be confirmed
Call editDelete(lngRecord)
Case "deleteExec" ‘’Delete the record
Call editDeleteExec(lngRecord)
Case Else ‘’same as list parameter
Call editList()
End Select
%>
<Script RUNAT="SERVER" LANGUAGE="
VBSCRIPT">
‘’======================================================================
Function editUpdate(lngRecord)
‘’======================================================================
strMyTable = Session("myTable")
strMyKey = Session("myKey")
strMyName = Session("myName")
sqlQuery = "SELECT * FROM " & strMyTable & " WHERE " & strMyKey & "=" & lngRecord
Set objRS = objConn.Execute(sqlQuery)
intFieldCount = objRS.Fields.Count - 1
Response.Write "<html><head><title>Access Table Editor</title>"
Response.Write "</head><body>"
Response.Write "<h1>Update Record</h1>"
Response.Write "<form name=editForm action=" & strMyName & "?action=updateExec&num=" & lngRecord
& " method=POST>"
Response.Write "<table>"
For i = 0 To intFieldCount
strName = objRS(i).Name
strValue = objRS(i).Value
Response.Write "<tr><
td>" & strName & "</td>"
If strName = strMyKey Then
Response.Write "<td><input type=text readonly name=" & strName & " value=""" &
strValue & """></td></tr>"
Else
Response.Write "<td><input type=text name=" & strName & " value=""" & strValue
& """></td></tr>"
End If
Next
Response.Write "</table><p> </p><input type=SUB
MIT value=Update></form>"
Response.Write "<p> </p></body></html>"
Set objRS = Nothing
End Function
‘’======================================================================
Function editUpdateExec(lngRecord)
‘’======================================================================
strMyTable = Session("myTable")
strMyKey = Session("myKey")
strMyName = Session("myName")
sqlQuery = "SELECT * FROM " & strMyTable & " WHERE " & strMyKey & "=" & lngRecord
Set objRS = objConn.Execute(sqlQuery)
intFieldCount = objRS.Fields.Count - 1
sqlQuery = "UPDATE " & strMyTable & " Set "
For i = 0 To intFieldCount
strName = objRS(i).Name
strValue = objRS(i).Value
If strName <> strMyKey Then
If (Vartype(strValue) >= 2) And (VarType(strValue) <= 6) Then
sqlQuery = sqlQuery & strName & "=" & Request.Form(strName)
Else
sqlQuery = sqlQuery & strName & "=‘’" & Request.Form(strName) & "‘’"
End If
If i < intFieldCount Then sqlQuery = sqlQuery & ", "
End If
Next
sqlQuery = sqlQuery & " WHERE " & strMyKey & "=" & request.form(strMyKey)
objConn.Execute(sqlQuery)
Set objRS = Nothing
Response.Redirect strMyName
End Function
‘’======================================================================
Function editInsert()
‘’======================================================================
strMyTable = Session("myTable")
strMyKey = Session("myKey")
strMyName = Session("myName")
Response.Write "<html><head><title>Access Table Editor</title>"
Response.Write "</head><body>"
Response.Write "<h1>Create Record</h1>"
Response.Write "<form name=insertForm action=" & strMyName & "?action=insertExec method=POST>"
Response.Write "<table>"
sqlQuery = "SELECT * FROM " & strMyTable ‘’we do this query just to learn the field names
Set objRS = objConn.Execute(sqlQuery)
intFieldCount = objRS.Fields.Count - 1
For i = 0 To intFieldCount
strName = objRS(i).Name
If strName <> strMyKey Then
Response.Write "<tr><td>" & strName & "</td>"
Response.Write "<td><input type=text name=" & strName & "></td></tr>"
End If
Next
Response.Write "</table><p> </p><input type=SUBMIT value=Create></form>"
Response.Write "<p> </p></body></html>"
Set objRS = Nothing
End Function
‘’======================================================================
Function editInsertExec()
‘’======================================================================
strMyTable = Session("myTable")
strMyKey = Session("myKey")
strMyName = Session("myName")
sqlQuery = "SELECT * FROM " & strMyTable ‘’we do this query just to learn the field names
Set objRS = objConn.Execute(sqlQuery)
intFieldCount = objRS.Fields.Count - 1
sqlQuery = "INSERT INTO " & strMyTable & " ("
For i = 0 To intFieldCount
strName = objRS(i).Name
strValue = objRS(i).Value
If strName <> strMyKey Then
sqlQuery = sqlQuery & strName
If i < intFieldCount Then sqlQuery = sqlQuery & ", "
End If
Next
sqlQuery = sqlQuery & ") VALUES ("
For i = 0 To intFieldCount
strName = objRS(i).Name
strValue = objRS(i).Value
If strName <> strMyKey Then
If (Vartype(strValue) >= 2) And (VarType(strValue) <= 6) Then
sqlQuery = sqlQuery & Request.Form(strName)
Else
sqlQuery = sqlQuery & "‘’" & Request.Form(strName) & "‘’"
End If
If i < intFieldCount Then sqlQuery = sqlQuery & ", "
End If
Next
sqlQuery = sqlQuery & ")"
objConn.Execute(sqlQuery)
Set objRS = Nothing
Response.Redirect strMyName
End Function
‘’======================================================================
Function editDelete(lngRecord)
‘’======================================================================
strMyTable = Session("myTable")
strMyKey = Session("myKey")
strMyName = Session("myName")
sqlQuery = "SELECT * FROM " & strMyTable & " WHERE " & strMyKey & "=" & lngRecord
Set objRS = objConn.Execute(sqlQuery)
intFieldCount = objRS.Fields.Count -1
Response.Write "<html><head><title>Access Table Editor</title>"
Response.Write "</head><body>"
Response.Write "<h1>Delete Record</h1>"
Response.Write "<form name=deleteForm action=" & strMyName & "?action=deleteExec&num=" &
lngRecord & " method=POST>"
Response.Write "<table>"
For i = 0 To intFieldCount
strName = objRS(i).Name
strValue = objRS(i).Value
Response.Write "<tr><td>" & strName & "</td>"
Response.Write "<td><input type=text readonly name=" & strName & " value=""" & strValue
& """></td></tr>"
Next
Response.Write "</table><p> </p><input type=SUBMIT value=Delete></form>"
Response.Write "<p> </p></body></html>"
Set objRS = Nothing
End Function
‘’======================================================================
Function editDeleteExec(lngRecord)
‘’======================================================================
strMyTable = Session("myTable")
strMyKey = Session("myKey")
strMyName = Session("myName")
objConn.Execute("DELETE * FROM " & strMyTable & " WHERE " & strMyKey & "=" & lngRecord)
Response.Redirect strMyName
End Function
‘’======================================================================
Function editList()
‘’======================================================================
strMyTable = Session("myTable")
strMyKey = Session("myKey")
strMyName = Session("myName")
dim objRS
Set objRS = objConn.Execute("SELECT * FROM " & strMyTable)
intFieldCount = objRS.Fields.Count - 1
Response.Write "<html><head><title>Access Table Editor</title>"
Response.Write "<style type=""text/css""> td {font-size: 8pt; border: 0} </style>"
Response.Write "</head><body>"
Response.Write "<h1>" & strMyTable & "</h1><p>"
Response.Write "<table cellspacing=0 cellpadding=4>"
Response.Write "<tr>"
Response.Write "<td>Befehl</td>"
For i=0 To intFieldCount
Response.Write "<td>" & objRS(i).Name & "</td>"
Next
Response.Write "</tr>"
‘’----- List record -----
intCounter = 0
Do Until objRS.Eof
intCounter = intCounter + 1
If intCounter Mod 2 = 0 Then
Response.Write "<tr bgcolor=#FFFFFF>"
Else
Response.Write "<tr bgcolor=#DDDDDD>"
End If
Response.Write "<td><a href=" & strMyName & "?action=update&num=" & objRS(strMyKey)
& ">Edit</a> "
Response.Write "<a href=" & strMyName & "?action=insert>New</a> "
Response.Write "<a href=" & strMyName & "?action=delete&num=" & objRS(strMyKey)
& ">Del</a></td>"
For i = 0 To intFieldCount
varFieldValue = objRS(i)
if varFieldValue = "" Then
Response.Write "<td> "
Else
If (Vartype(varFieldValue) >= 2) And (Vartype(varFieldValue) <= 6)
Then
Response.Write "<td align = right>" & varFieldValue
Else
Response.Write "<td>" & varFieldValue
End If
End If
Response.Write "</td>"
Next
Response.Write "</tr>"
objRS.Movenext
Loop
Response.Write "</table>"
Response.Write "<p> </p></body></html>"
objRS.Close
Set objRS = Nothing
End Function
</Script>
原文转自:http://www.ltesting.net