非常有价值的代码,下面的代码是使用ADSI 的对象数据库概念编制成的,只要你理解了 我在前面文章说的东西,下面的代码只不过是ADSI牛刀小试而已 只要有了下面这个思路,以后不论是对付什么数据库,就是不知道 数据库的结构也不用害怕了。 <% '--- define DSN names in array database_list=Array("dsn_1","dsn_2","dsn_3") '--- 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.Open "DSN=" & dsn_name 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>" 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 "" 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>" 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 %>
|