ASP操作Access数据库的程序。(转)

发表于:2007-06-30来源:作者:点击数: 标签:
% @#--- define DSN names in array @#--- enter one or more DSN name in the database_list array database_list=Array(Test,test1) @#--- enable deleting table? -- Carefull!! strEnableDeleteTable = False @#---- end declaration @#---- do not chang
<%
@#--- define DSN names in array
@#--- enter one or more DSN name in the database_list array
database_list=Array("Test","test1")
@#--- enable deleting table? -- Carefull!!
strEnableDeleteTable = False
@#---- end declaration

@#---- do not change code below this line ---------------------------------------------
field_value=Array("Integer","Double","char(255)","Memo","Date","Currency","YesNo")
field_display=Array("Integer","Number","Text","Memo","Date/Time","Currency","Yes/No")

dsn_name = Request("DatabaseName")
If Not dsn_name = "" Then
   Set con = Server.CreateObject("ADODB.Connection")
   Con.Provider = "sqloledb"
   if dsn_name = "Test" then
        ConStr = "Data Source =127.0.0.1;Initial Catalog=test;User ID=test;Password=1111"
   else      
        ConStr = "Data Source =127.0.0.1;Initial Catalog=test1;User ID=test1;Password=1111"
   end if
   con.Open constr
End If
table_name = Request("TableName")

If Request("AddNewTable")<>"" Then
    If Request("NewTableName") <> "" Then
        SQL = "CREATE TABLE " & Request("NewTableName") & " (fldAuto Counter)"
        con.Execute(SQL)
    End If
End If
If Request("AddNewField")<>"" Then
    If request("NewFieldName") <> "" Then
        SQL = "ALTER TABLE " & table_name & " ADD " & request("NewFieldName") & " " & request("NewFieldType") & " NULL"
        con.Execute(SQL)
    End If
End If
If Request("DeleteTable")<>"" Then
    SQL = "DROP TABLE " & Request("TableName")
    Con.Execute(SQL)
End If
If Request("DeleteColumn")<>"" Then
    For Each item In Request("DeleteCol")
        SQL = "ALTER TABLE " & Request("TableName") & " DROP " & item
        con.Execute(SQL)
    Next
End If
@#----- file name--------------------------------------------------------
file = Request.ServerVariables("SCRIPT_NAME")
file = strReverse(file)
pos = Instr(file,"/")
file = Left(file, pos-1)
file = strReverse(file)
%>

<%
response.write "<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 3.2 Final//EN"">"
response.write "<HTML><HEAD><TITLE>Database Control</TITLE></HEAD>"
response.write "<BODY bgcolor=""#FFFFFF""><br><br><center>"

@#------------------------------------------------------------
response.write "<form action=""" & file & """ method=post>"
response.write "<b><font face=verdana size=3 color=""#008080""><u>Total Database Control</u></font></b><br><br>"
response.write "<font face=Verdana,Arial size=2><b>Database Name: </b></font>"
response.write "<select name=""databasename"">"
For i = 0 to uBound(database_list)
If database_list(i) = Request("databasename") Then
    response.write "<option value=""" & database_list(i) & """ selected>" & database_list(i)
Else
    response.write "<option value=""" & database_list(i) & """>" & database_list(i)
End If
Next
response.write "</select> "
response.write "<input type=submit name=GoDatabase value=go>"
response.write "<hr></form>"
@#-------------------------------------------------------------
response.write "<form action=""" & file & "?DatabaseName=" & Server.URLEncode(dsn_name) & """ method=post>"

If dsn_name<>"" Then
    Set table = con.OpenSchema (20)
    response.write "<font face=Verdana,Arial size=2>Table Names in " & dsn_name & ": </font><SELECT NAME=TableName>"
    While Not table.EOF
        tblName = table("Table_Name")
        If Left(tblName,4) <> "MSys" AND Left(tblName,3) <> "sys" AND Left(tblName,4) <> "RTbl" Then
            If tblName = table_name Then
                response.write "<OPTION VALUE=""" & tblName & """ selected>" & tblName
            Else
                response.write "<OPTION VALUE=""" & tblName & """>" & tblName
            End If
        End If
    table.MoveNext
    Wend
    response.write "</SELECT>"
    response.write "<INPUT type=submit name=table value=go>"
    If strEnableDeleteTable = True Then
        response.write "  <input type=submit name=DeleteTable value=delete>"
    End If
    response.write "</form>"
    response.write "<form action=""" & file & "?DatabaseName=" & Server.URLEncode(dsn_name) & """ method=post>"
    response.write "<table><tr>"
    response.write "<td colspan=2><font face=Verdana,Arial size=2 color=""#ff0000"">Add New Table into " & dsn_name & "</font></td>"
    response.write "</tr><tr>"
    response.write "<th><font face=Verdana,Arial size=2>Table Name:</font></th>"
    response.write "<td><input type=text name=NewTableName></td>"
    response.write "</tr><tr>"
    response.write "<td colspan=2 align=center><input type=submit name=AddNewTable value=""Add New Table""></td></tr></table>"
    response.write "</form><hr>"
End If

If table_name <> "" AND Request("DeleteTable")="" Then
    response.write "<form action=""" & file & "?DatabaseName=" & Server.URLEncode(dsn_name) & "&TableName=" & table_name & """ method=post>"
    response.write "<table border=2 align=center cellpadding=2 cellspacing=2>"
    response.write "<tr>"
    response.write "<th colspan=4 align=left><font face=Verdana,Arial size=3 color=teal>" & table_name & "</font></th>"
    response.write "</tr><tr><th><font face=Verdana,Arial size=2>Field Name</font></th>"
    response.write "<th><font face=Verdana,Arial size=2>Field Size</font></th>"
    response.write "<th><font face=Verdana,Arial size=2>Field DataType</font></th>"
    response.write "<th><font face=Verdana,Arial size=2>Delete</font></th></tr>"

    SQL = "SELECT * FROM " & table_name
    Set rs = con.Execute(SQL)
    For each fldName in rs.Fields
        response.write "<tr>"
        response.write "<td><font face=Verdana,Arial size=2 color=""#000000"">" & fldName.Name & "</font></td>"
        response.write "<td><font face=Verdana,Arial size=2 color=""#000000"">" & fldName.DefinedSize & "</font></td>"
        response.write "<td><font face=Verdana,Arial size=2 color=""#000000"">" & GetTypeName(fldName.Type) & "</font></td>"
        response.write "<td align=center><input type=checkbox name=DeleteCol value=""" & fldName.Name & """></td>"
        response.write "</tr>"
    Next
    response.write "<tr><td colspan=4 align=center><input type=submit name=DeleteColumn value=""Delete Selected Column""></td></tr>"
    response.write "</table>"
    response.write "<table><tr>"
    response.write "<td colspan=2><font face=Verdana,Arial size=2 color=""#ff0000"">Add New Field into " & table_name &     "</font></td>"
    response.write "</tr><tr>"
    response.write "<th><font face=Verdana,Arial size=2>Field Name:</font></th>"
    response.write "<td><input type=text name=""NewFieldName""></td>"
    response.write "</tr><tr>"
    response.write "<th><font face=Verdana,Arial size=2>Field Type:</font></th>"
    response.write "<td><select name=""NewFieldType"">"
    For i = 0 to uBound(field_value)
        response.write "<option value=""" & field_value(i) & """>" & field_display(i)
    Next
    response.write "</select></td></tr>"
    response.write "<tr><td colspan=2 align=center><input type=submit name=AddNewField value=""Add New Field""></td></tr></table>"
response.write "</form>"
End If
response.write "</center></BODY></HTML>"

Function GetTypeName(id)
    Select Case id
    Case "3"
        GetTypeName = "Number"
    Case "200"
        GetTypeName = "Text"
    Case "129"
        GetTypeName = "Text"
    Case "201"
        GetTypeName = "Memo"
    Case "6"
        GetTypeName = "Currency"
    Case "11"
        GetTypeName = "Yes/No"
    Case "5"
        GetTypeName = "Number"
    Case "7", "133","134","135"
        GetTypeName = "Date/Time"
    Case Else
        GetTypeName = id
    End Select
End Function

Sub SelectDataType(it)
    response.write "<SELECT NAME=EditColName>"
    For i = 0 to UBOUND(field_value)
        If field_display(i) = it Then
            response.write "<option value=""" & field_value(i) & """ selected>" & field_display(i)
        Else
            response.write "<option value=""" & field_value(i) & """>" & field_display(i)
        End If
    Next
    response.write "</Select>"
End Sub
%>

原文转自:http://www.ltesting.net