ADSI,使用ASP来实现通用的对数据库控制编程
非常有价值的代码,下面的代码是使用ADSI 的对象数据库概念编制成的,只要你理解了我在前面文章说的东西,下面的代码只不过是ADSI牛刀小试而已只要有了下面这个思路,以后不论是对付什么数据库,就是不知道数据库的结构也不用害怕了。<%'--- define DSN names in arraydatabase_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 = "" ThenSet con = Server.CreateObject("ADODB.Connection")con.Open "DSN=" & dsn_nameEnd Iftable_name = Request("TableName")
If Request("AddNewTable")<>"" ThenIf Request("NewTableName") <> "" ThenSQL = "CREATE TABLE " & Request("NewTableName") & " (fldAuto Counter)"con.Execute(SQL)End IfEnd IfIf Request("AddNewField")<>"" ThenIf request("NewFieldName") <> "" ThenSQL = "ALTER TABLE " & table_name & " ADD " & request("NewFieldName") & " " & request("NewFieldType") & " NULL"con.Execute(SQL)End IfEnd IfIf Request("DeleteTable")<>"" ThenSQL = "DROP TABLE " & Request("TableName")Con.Execute(SQL)End IfIf Request("DeleteColumn")<>"" ThenFor Each item In Request("DeleteCol")SQL = "ALTER TABLE " & Request("TableName") & " DROP " & itemcon.Execute(SQL)NextEnd 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") Thenresponse.write "<option value=""" & database_list(i) & """ selected>" & database_list(i)Elseresponse.write "<option value=""" & database_list(i) & """>" & database_list(i)End IfNextresponse.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<>"" ThenSet table = con.OpenSchema (20)response.write "<font face=Verdana,Arial size=2>Table Names in " & dsn_name & ": </font><SELECT NAME=TableName>"While Not table.EOFtblName = table("Table_Name")If Left(tblName,4) <> "MSys" AND Left(tblName,3) <> "sys" AND Left(tblName,4) <> "RTbl" ThenIf tblName = table_name Thenresponse.write "<OPTION value=""" & tblName & """ selected>" & tblNameElseresponse.write "<OPTION value=""" & tblName & """>" & tblNameEnd IfEnd Iftable.MoveNextWendresponse.write "</SELECT>"response.write "<INPUT type=submit name=table value=go>"If strEnableDeleteTable = True Thenresponse.write " <input type=submit name=DeleteTable value=delete>"End Ifresponse.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")="" Thenresponse.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_nameSet rs = con.Execute(SQL)For each fldName in rs.Fieldsresponse.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>"Nextresponse.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)Nextresponse.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 Ifresponse.write "</center></BODY></HTML>"
Function GetTypeName(id)Select Case idCase "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 ElseGetTypeName = idEnd SelectEnd Function
Sub SelectDataType(it)response.write "<SELECT NAME=EditColName>"For i = 0 to UBOUND(field_value)If field_display(i) = it Thenresponse.write "<option value=""" & field_value(i) & """ selected>" & field_display(i)Elseresponse.write "<option value=""" & field_value(i) & """>" & field_display(i)End IfNextresponse.write "</Select>"End Sub%>
- 联系我们: QQ:82526114(技术) 411523648(客服) 237057746(财务)
- 电话:+86-762-4372098 邮箱:webmaster@814e.net,support@814e.net
- 粤ICP备05002242号 网监局备案:4403701910502
