正在浏览:在线数据库管理工具(db007) v1.5
            在线数据库管理工具 db007 下载:https://www.jb51.net/codes/6195.html
复制代码 代码如下:
<!-- 
'******************************** 
'* 用途: 
'^ 以视图界面方式在线处理access、sql数据库 
'* 作者:官世杰 
'* 创建日期:2006-5-28 
'* 2006-06-04 增加数据修改功能 
'* 2006-06-10 增加了在空表中插入数据功能 
'* 2006-09-8 增加修改字段名和表名功能,修正部分错误 
'* 执行sql,如果是 select 就返回结果,否则返回执行结果 
'* 本程序可以免费使用,转载请保留此信息 
'******************************** 
--> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<title>在线数据库管理工具 db007 1.5</title> 
<style type="text/css"> 
<!-- 
body,td,th {font-family: "宋体";font-size: 12px;} 
form {margin:0px;padding:0px;} 
body {margin:5px;SCROLLBAR-ARROW-COLOR:#666666;SCROLLBAR-FACE-COLOR:#DDDDDD;SCROLLBAR-DARKSHADOW-COLOR:#999999;SCROLLBAR-HIGHLIGHT-COLOR:#FFFFFF;SCROLLBAR-3DLIGHT-COLOR:#CCCCCC;SCROLLBAR-SHADOW-COLOR:#FFFFFF;SCROLLBAR-TRACK-COLOR:#EEEEEE;} 
input {    border-width: 1px;border-style:solid;border-color: #CCCCCC #999999 #999999 #CCCCCC;height: 16px;} 
td {background:#FFF;} 
textarea {border-width: 1px;border-style: solid;border-color: #CCCCCC #999999 #999999 #CCCCCC;} 
a:link {text-decoration: none;} 
a:visited {text-decoration: none;} 
a:hover {text-decoration: underline;} 
a:active {text-decoration: none;} 
.fixSpan {width:150px;white-space:nowrap;word-break:keep-all;overflow:hidden;text-overflow:ellipsis;} 
--> 
</style> 
</head> 
<body> 
<% 
if request("key") = "db" then 
    session("dbtype") = request("dbtype") 
    session("dbstr") = request("dbstr") 
    response.redirect "?" 
end if 
if request("key") = "createdatabase" then 
    call createdatabase() 
end if 
if session("dbtype") = "" or session("dbstr") = "" then 
    %> 
    <form action="?key=db" method="post" name="dbt"> 
          <br> 
          连接类型: 
          <input name="dbtype" type="radio" value="access" onClick="dbstr.value='Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Password=;Data Source=<%=server.mappath("/")&"\"%>'" checked> 
          ACCESS 
          <input disabled="disabled" type="radio" name="dbtype" value="sql" onClick="dbstr.value='driver={SQL Server};database=;Server=;uid=;pwd='">  
          SQL<br><br> 
          连接字符:<input name="dbstr" type="text" id="dbstr" size="120" value="Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Password=;Data Source=<%=server.mappath("/")&"\"%>"> 
          <input type="submit" name="Submit" value="连接" /><br><br> 
          注:access请使用绝对路径,本文件路径:<%=server.MapPath("db007.asp")%> 
    </form> 
    <form name="createdatabase" method="post" action="?key=createdatabase"> 
      <font color=red>创建数据库:</font>路径 
      <input name="dataname" type="text" value="<%=server.MapPath("/")&"\database.mdb"%>" size="100"> 
      <input type="submit" name="Submit" value="创建"> 
    </form> 
    <% 
    response.End() 
end if 
'==================================================================建库 
sub createdatabase() 
    dim DBName,dbstr,myCat 
    on error resume next 
    DBName = request("dataname") 
    dbstr = "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & DBName  
    Set myCat = Server.CreateObject( "ADOX.Catalog" )  
    myCat.Create dbstr 
    if err <> 0 then 
        response.write err.description 
        session("dbtype") = "" 
        session("dbstr") = "" 
        response.write "<input type='button' name='ok' value=' 返 回 ' onClick='javascript:history.go(-1)'>" 
        response.end 
    end if 
    session("dbtype") = "access" 
    session("dbstr") = dbstr 
    response.redirect "?" 
end sub 
'==================================================================调用链接函数 
conn() 
function conn() 
    dim conn1,connstr 
    on error resume next 
    select case session("dbtype") 
    case "access" 
        '==================================================================连接ACCESS数据库 
        connstr = session("dbstr") 
        Set Conn1 = Server.CreateObject("ADODB.Connection") 
        conn1.Open connstr 
    case "sql" 
        '==================================================================连接SQL数据库 
        set conn1 = Server.CreateObject("ADODB.Connection")  
        conn1.open session("dbstr")  
    end select 
    if err <> 0 then 
        response.write err.description 
        session("dbtype") = "" 
        session("dbstr") = "" 
        response.write "<input type='button' name='ok' value=' 返 回 ' onClick='javascript:history.go(-1)'>" 
        response.end 
    end if 
    set conn = conn1 
end function 
Sub echo(str) 
    Response.Write(str) 
End Sub 
Function IIf(var, val1, val2) 
    If var = True Then 
        IIf = val1 
     Else 
        IIf = val2 
    End If 
End Function 
'正则表达式函数,用于删除注释 
'------------------------------------- 
Function RegExpReplace(strng, patrn, replStr) 
  Dim regEx,match,matches              ' 建立变量。 
  Set regEx = New RegExp               ' 建立正则表达式。 
  regEx.Pattern = patrn               ' 设置模式。 
  regEx.IgnoreCase = True               ' 设置是否区分大小写。 
  regEx.Global = True   ' 设置全局可用性。 
  RegExpReplace = regEx.Replace(strng, replStr)         ' 作替换。 
End Function 
'==================================================================ADOVBS 常量声明 
'---- DataTypeEnum Values ---- 
Const adEmpty = 0 
Const adTinyInt = 16 
Const adSmallInt = 2 
Const adInteger = 3 
Const adBigInt = 20 
Const adUnsignedTinyInt = 17 
Const adUnsignedSmallInt = 18 
Const adUnsignedInt = 19 
Const adUnsignedBigInt = 21 
Const adSingle = 4 
Const adDouble = 5 
Const adCurrency = 6 
Const adDecimal = 14 
Const adNumeric = 131 
Const adBoolean = 11 
Const adError = 10 
Const adUserDefined = 132 
Const adVariant = 12 
Const adIDispatch = 9 
Const adIUnknown = 13 
Const adGUID = 72 
Const adDate = 7 
Const adDBDate = 133 
Const adDBTime = 134 
Const adDBTimeStamp = 135 
Const adBSTR = 8 
Const adChar = 129 
Const adVarChar = 200 
Const adLongVarChar = 201 
Const adWChar = 130 
Const adVarWChar = 202 
Const adLongVarWChar = 203 
Const adBinary = 128 
Const adVarBinary = 204 
Const adLongVarBinary = 205 
'---- FieldAttributeEnum Values ---- 
Const adFldMayDefer = &H00000002 
Const adFldUpdatable = &H00000004 
Const adFldUnknownUpdatable = &H00000008 
Const adFldFixed = &H00000010 
Const adFldIsNullable = &H00000020 
Const adFldMayBeNull = &H00000040 
Const adFldLong = &H00000080 
Const adFldRowID = &H00000100 
Const adFldRowVersion = &H00000200 
Const adFldCacheDeferred = &H00001000 
'---- SchemaEnum Values ---- 
'---- SchemaEnum Values ---- 
Const adSchemaProviderSpecific = -1 
Const adSchemaAsserts = 0 
Const adSchemaCatalogs = 1 
Const adSchemaCharacterSets = 2 
Const adSchemaCollations = 3 
Const adSchemaColumns = 4 
Const adSchemaCheckConstraints = 5 
Const adSchemaConstraintColumnUsage = 6 
Const adSchemaConstraintTableUsage = 7 
Const adSchemaKeyColumnUsage = 8 
Const adSchemaReferentialConstraints = 9 
Const adSchemaTableConstraints = 10 
Const adSchemaColumnsDomainUsage = 11 
Const adSchemaIndexes = 12 
Const adSchemaColumnPrivileges = 13 
Const adSchemaTablePrivileges = 14 
Const adSchemaUsagePrivileges = 15 
Const adSchemaProcedures = 16 
Const adSchemaSchemata = 17 
Const adSchemaSQLLanguages = 18 
Const adSchemaStatistics = 19 
Const adSchemaTables = 20 
Const adSchemaTranslations = 21 
Const adSchemaProviderTypes = 22 
Const adSchemaViews = 23 
Const adSchemaViewColumnUsage = 24 
Const adSchemaViewTableUsage = 25 
Const adSchemaProcedureParameters = 26 
Const adSchemaForeignKeys = 27 
Const adSchemaPrimaryKeys = 28 
Const adSchemaProcedureColumns = 29 
Const adSchemaDBInfoKeywords = 30 
Const adSchemaDBInfoLiterals = 31 
Const adSchemaCubes = 32 
Const adSchemaDimensions = 33 
Const adSchemaHierarchies = 34 
Const adSchemaLevels = 35 
Const adSchemaMeasures = 36 
Const adSchemaProperties = 37 
Const adSchemaMembers = 38 
Const adSchemaTrustees = 39 
Const adSchemaFunctions = 40 
Const adSchemaActions = 41 
Const adSchemaCommands = 42 
Const adSchemaSets = 43 
'==================================================================返回字段类型函数 
Function typ(field_type) 
    'field_type = 字段类型值 
    Select Case field_type 
        case adEmpty:typ = "Empty" 
        case adTinyInt:typ = "TinyInt" 
        case adSmallInt:typ = "SmallInt" 
        case adInteger:typ = "Integer" 
        case adBigInt:typ = "BigInt" 
        case adUnsignedTinyInt:typ = "TinyInt" 'UnsignedTinyInt 
        case adUnsignedSmallInt:typ = "UnsignedSmallInt" 
        case adUnsignedInt:typ = "UnsignedInt" 
        case adUnsignedBigInt:typ = "UnsignedBigInt" 
        case adSingle:typ = "Single" 'Single 
        case adDouble:typ = "Double" 'Double 
        case adCurrency:typ = "Money" 'Currency 
        case adDecimal:typ = "Decimal" 
        case adNumeric:typ = "Numeric" 'Numeric 
        case adBoolean:typ = "Bit" 'Boolean 
        case adError:typ = "Error" 
        case adUserDefined:typ = "UserDefined" 
        case adVariant:typ = "Variant" 
        case adIDispatch:typ = "IDispatch" 
        case adIUnknown:typ = "IUnknown" 
        case adGUID:typ = "GUID" 'GUID 
        case adDATE:typ = "DateTime" 'Date 
        case adDBDate:typ = "DBDate" 
        case adDBTime:typ = "DBTime" 
        case adDBTimeStamp:typ = "DateTime" 'DBTimeStamp 
        case adBSTR:typ = "BSTR" 
        case adChar:typ = "Char" 
        case adVarChar:typ = "VarChar" 
        case adLongVarChar:typ = "LongVarChar" 
        case adWChar:typ = "Text" 'WChar类型 SQL中为Text 
        case adVarWChar:typ = "VarChar" 'VarWChar 
        case adLongVarWChar:typ = "Text" 'LongVarWChar 
        case adBinary:typ = "Binary" 
        case adVarBinary:typ = "VarBinary" 
        case adLongVarBinary:typ = "LongBinary"'LongVarBinary 
        case adChapter:typ = "Chapter" 
        case adPropVariant:typ = "PropVariant" 
        case else:typ = "Unknown" 
    end select 
End Function 
'==================================================================返回字段类型列表 
Function fieldtypelist(n) 
    dim strlist,str1,str2 
    strlist = "<select name=""field_type"">" 
    if session("dbtype") = "access" then 
        strlist = strlist & "<option value=""VarChar"">文本</option>" 
        strlist = strlist & "<option value=""Text"">备注</option>" 
        strlist = strlist & "<option value=""Bit"">(是/否)</option>" 
        strlist = strlist & "<option value=""TinyInt"">数字(字节)</option>" 
        strlist = strlist & "<option value=""SmallInt"">数字(整型)</option>" 
        strlist = strlist & "<option value=""Integer"">数字(长整型)</option>" 
        strlist = strlist & "<option value=""Single"">数字(单精度)</option>" 
        strlist = strlist & "<option value=""Double"">数字(双精度)</option>" 
        strlist = strlist & "<option value=""Numeric"">数字(小数)</option>" 
        strlist = strlist & "<option value=""GUID"">数字(同步ID)</option>" 
        strlist = strlist & "<option value=""DateTime"">时间/日期</option>" 
        strlist = strlist & "<option value=""Money"">货币</option>" 
        strlist = strlist & "<option value=""Binary"">二进制</option>" 
        strlist = strlist & "<option value=""LongBinary"">长二进制</option>" 
        strlist = strlist & "<option value=""LongBinary"">OLE 对象</option>" 
    else 
        strlist = strlist & "<option value="""">选择类型</option>" 
        strlist = strlist & "<option value=""BigInt"">bigint</option>" 
        strlist = strlist & "<option value=""Binary"">binary(二进制数据类型)</option>" 
        strlist = strlist & "<option value=""Bit"">bit(整型)</option>" 
        strlist = strlist & "<option value=""Char"">char(字符型)</option>" 
        strlist = strlist & "<option value=""DateTime"">datetime(日期时间型)</option>" 
        strlist = strlist & "<option value=""Decimal"">decimal(精确数值型)</option>" 
        strlist = strlist & "<option value=""Float"">float(近似数值型)</option>" 
        strlist = strlist & "<option value=""Image"">image(二进制数据类型)</option>" 
        strlist = strlist & "<option value=""Int"">int(整型)</option>" 
        strlist = strlist & "<option value=""Money"">money(货币型)</option>" 
        strlist = strlist & "<option value=""nchar"">nchar(统一编码字符型)</option>" 
        strlist = strlist & "<option value=""ntext"">ntext(统一编码字符型)</option>" 
        strlist = strlist & "<option value=""numeric"">numeric(精确数值型)</option>" 
        strlist = strlist & "<option value=""nvarchar"">nvarchar(统一编码字符型)</option>" 
        strlist = strlist & "<option value=""real"">real(近似数值型)</option>" 
        strlist = strlist & "<option value=""smalldatetime"">Smalldatetime(日期时间型)</option>" 
        strlist = strlist & "<option value=""smallint"">smallint(整型)</option>" 
        strlist = strlist & "<option value=""smallmoney"">smallmoney(货币型)</option>" 
        strlist = strlist & "<option value=""sql_variant"">sql_variant()</option>" 
        strlist = strlist & "<option value=""text"">text(字符型)</option>" 
        strlist = strlist & "<option value=""timestamp"">timestamp(特殊数据型)</option>" 
        strlist = strlist & "<option value=""tinyint"">tinyint(整型)</option>" 
        strlist = strlist & "<option value=""uniqueidentifier"">Uniqueidentifier(特殊数据型)</option>" 
        strlist = strlist & "<option value=""varbinary"">varbinary(二进制数据类型)</option>" 
        strlist = strlist & "<option value=""varchar"">varchar(字符型)</option>" 
    end if 
    str1 = """" & n & """" 
    str2 = """" & n & """" & " selected" 
    strlist = replace(strlist,str1,str2) 
    strlist = strlist & "</select>" 
    echo strlist 
End Function 
'==================================================================主界面 
sub main(str) 
    on error resume next 
    %> 
    <script language=javascript> 
    ie = (document.all)? true:false 
    if (ie){ 
    function ctlent(eventobject){if(event.ctrlKey &&  
    window.event.keyCode==13){this.document.exesql.submit();}} 
    } 
    </script> 
    <script language="javascript"> 
        function table_delete() 
        { 
        if (confirm("确认删除该记录吗?   该操作将不可撤销!!!")) 
            return true; 
        else 
            return false; 
        } 
    </script> 
    <form action="?key=sql" method=post name="exesql">         
        <font color=red>执行sql语句:</font><font color=#999999>(每句语句以“;”结束,支持(--)SQL注释,Ctrl + Enter 快速提交)</font>  <input type="button" value="刷新本页" onClick="javascript:location.reload()">      
        <span onClick="document.exesql.sql.rows+=5;" style="cursor:pointer;">+</span> 
        <span onClick="if(document.exesql.sql.rows>9)document.exesql.sql.rows-=5" style="cursor:pointer;">-</span> 
        <div style="float:left;width:600px;"> 
        <textarea id="sql" name="sql" style="width:600px;" rows="9" ondblClick="this.select();" onKeyDown="ctlent()"><%=request("sql")%></textarea><br /> 
        <input type="checkbox" name="SchemaTable" value="1" style="border:0px;">adSchemaTables  
        <input type="checkbox" name="SchemaColumn" value="2" style="border:0px;">adSchemaColumns 
        <input type="checkbox" name="SchemaProvider" value="3" style="border:0px;">adSchemaProviderTypes    
        分页大小: 
        <select name="pageSize"> 
          <% 
          if request("pageSize") <> "" and  isNumeric(request("pageSize")) then 
             echo "<option value='"&request("pageSize")&"' selected>"&request("pageSize")&"</option>" 
          else 
             echo "<option value='50'>50</option>" 
          end if 
          %> 
          <option value="10">10</option> 
          <option value="20">20</option> 
          <option value="30">30</option> 
          <option value="40">40</option> 
          <option value="50">50</option> 
          <option value="60">60</option> 
          <option value="70">70</option> 
          <option value="80">80</option> 
          <option value="90">90</option> 
          <option value="100">100</option> 
        </select> 
        </div> 
        <div style="float:left;width:50px;padding:60px 0px 0px 5px;"> 
        <input type="submit" name="Submit_confirm" value="提交"> <br /> <br />   
        <input type="button" name="Submit3" value="清空" onClick="sql.value=''"><br /><br />  
        <input type="button" name="ok" value="返回" onClick="javascript:history.go(-1)"> 
        </div> 
    </form>   
    <div style="clear:both"></div> 
    <% if str = "" then %> 
    <form action="?key=addtable" method="post">         
        <div style="clear:both;text-align:left;"><br /> 
        <font color=red>创建新表:</font><br> 
        表  名:<input type="text" name="table_name" size="20"><br> 
        字段数:<input type="text" name="field_num" size="20"> 
        <input type="submit" name="Submit_create" value="提交"> 
        <input type="reset" name="Submit32" value="重置"> 
        </div>      
    </form>  
    <br><br> 
    <a href="?key=tosql&strt=2">导出所有表结构到SQL</a> 
    <% 
    end if 
end sub 
'==================================================================创建表界面 
sub add_table(table_name,field_num) 
    'table_name = 表名称 
    'field_num  = 字段数 
    on error resume next 
    if not IsNumeric(field_num) then 
        echo "字段数必须是整数。" 
        echo "<input type='button' name='ok' value=' 返 回 ' onClick='javascript:history.go(-1)'>" 
        exit sub 
    end if 
    %> 
    <p class="hei"><span>创建表:</span><%=table_name%></p> 
    <form action="?key=createtable" method="post"> 
    <table width="600" border="0" cellpadding="2" cellspacing="1" bgcolor="#CCCCCC"> 
      <tr>  
        <td width="75" height="20" align="center">字段名</td> 
        <td width="99" height="20" align="center">类 型</td> 
        <td width="73" height="20" align="center">大 小</td> 
        <td width="96" height="20" align="center">空值</td> 
        <td width="83" height="20" align="center">自动编号</td> 
        <td width="143" height="20" align="center">主 键</td> 
      </tr> 
      <% for i = 0 to field_num - 1 %> 
      <tr>  
        <td width="75" height="20" align="center">  
            <input type="text" name="field_name" size="10"> 
        </td> 
        <td width="99" height="20" align="center">  
            <% fieldtypelist(0) %> 
        </td> 
        <td width="73" height="20" align="center">  
            <input type="text" name="field_size" size="10"> 
        </td> 
        <td width="96" height="20" align="center">  
            <select name="null"> 
              <option value="NOT_NULL">NOT_NULL</option> 
              <option value="NULL">NULL</option> 
            </select> 
        </td> 
        <td width="83" height="20" align="center">  
          <select size="1" name="autoincrement"> 
            <option></option> 
            <option>自动编号</option> 
          </select> 
        </td> 
        <td width="143" height="20" align="left">  
              <select name="primarykey"> 
                <option></option> 
                <option value="primarykey">primarykey</option> 
              </select> 
        </td> 
      </tr> 
      <% next %> 
      <tr>  
        <td height="35" align="center" colspan="5">  
            <input type="hidden" name="i" value=<%=field_num% 
            <input type="hidden" name="table_name" value="<%=table_name%>"> 
            <input type="submit" name="Submit" value=" 提 交 "> 
               
            <input type="reset" name="Submit2" value=" 重 置 "> 
              
          <input type="button" name="ok" value=" 放 弃 " onClick="javascript:history.go(-1)"> 
        </td> 
        <td height="20"></td> 
      </tr> 
    </table> 
    </form> 
    <% 
end sub 
'==================================================================构建创建表的SQL语句 
sub create_table() 
    dim sql,i,primarykey 
    on error resume next 
    sql = "CREATE TABLE ["&request("table_name")&"] (" 
    for i = 1 to request("i") 
       sql = sql & "[" & request("field_name")(i) & "] " & request("field_type")(i) 
          if request("field_size")(i) <> "" then 
              sql = sql & "(" & request("field_size")(i) & ")" 
          end if 
          if request("null")(i) = "NOT_NULL" then 
              sql = sql & " not null" 
          end if 
          if request("autoincrement")(i) = "自动编号" then 
              sql = sql & " identity" 
          end if 
          if request("primarykey")(i) = "primarykey" then 
              primarykey = request("field_name")(i) 
          end if 
        'if primarykey <> "" then 
           sql = sql & "," 
        'end if 
    next 
    if primarykey<>"" then 
       sql=sql&" primary key (["&primarykey&"]) " 
    end if 
    sql = sql & ")" 
    sql = replace(sql,"()","")  '构建空表 
    response.redirect "?key=sql&sql=" & sql  
end sub 
'==================================================================修改表名或字段名 2006-09-08 
sub reobj() 
    on error resume next 
    Dim mydb,mytable,tablename 
    tablename = request("tablename") 
    Set mydb = Server.CreateObject("ADOX.Catalog") 
    mydb.ActiveConnection = conn 
    if request("obj") = "field" then   '修改字段名 
        dim fieldsname,newfieldsname 
        fieldsname = request("fieldsname") 
        newfieldsname = request("newfieldsname") 
        Set mytable = Server.CreateObject("ADOX.Table") 
        Set mytable = mydb.Tables(tablename)  
        mytable.Columns(fieldsname).Name = newfieldsname 
    end if 
    if request("obj") = "table" then   '修改表名 
        dim newtablename 
        newtablename = request("newtablename") 
        mydb.Tables(tablename).Name = newtablename 
    end if 
    if err <> 0 then 
        echo  err.description 
        echo "<input type='button' name='ok' value=' 返 回 ' onClick='javascript:history.go(-1)'>" 
        exit sub 
    end if 
    if request("obj") = "field" then 
        response.Redirect "?key=view&table_name=" & tablename 
    else 
        response.Redirect "?key=view&table_name=" & newtablename 
    end if 
end sub 
'==================================================================查看表结构函数 
sub view(table_name) 
    'table_name = 表名称 
    dim rs,sql,table,primary,primarykey,i,editstr,typs 
    on error resume next 
    table = table_name 
    Set primary = Conn.OpenSchema(adSchemaPrimaryKeys,Array(empty, empty, table)) 
    if primary("COLUMN_NAME") <> "" then 
        primarykey = primary("COLUMN_NAME") 
    end if 
    primary.Close 
    Set primary = Nothing 
    %> 
    <script language="javascript"> 
        function table_delete() 
        { 
        if (confirm("确认删除该记录吗?   该操作将不可撤销!!!")) 
            return true; 
        else 
            return false; 
        } 
    </script> 
    <font color=red>表:<%=table_name%></font>    <input type="button" value="刷新本页" onClick="javascript:location.reload()"><br><br> 
    <% if request("key") = "editfidlevi" then call editfidlevi() %> 
    <table width="600" border="0" cellpadding="1" cellspacing="1" bgcolor="#CCCCCC"> 
    <tr>  
      <td width="125" height="20" align="center">字 段 名</td> 
      <td width="110" align="center">类 型</td> 
      <td width="83" align="center"> 设定大小</td> 
      <td width="48" align="center">允许空</td> 
      <td width="76" align="center">自动编号</td> 
      <td width="54" align="center">主键</td> 
      <td width="82" align="center">执行操作</td> 
    </tr> 
    <% 
    sql = "SELECT * FROM [" & table_name & "] " 
    Set rs = Conn.Execute(sql) 
    if err = 0 then 
        For i = 0 to rs.fields.count-1 
        %> 
        <tr>  
          <td height="20" align="left"><%=rs(i).name%></td> 
          <td align="left"><%=typ(rs(i).type)%></td> 
          <td align="center"><%=rs(i).definedsize%></td> 
          <td align="center"><%=iif((rs(i).Attributes and adFldIsNullable)=0,"No","Yes")%></td> 
          <td align="center"><%=iif(rs(i).Properties("ISAUTOINCREMENT") = True,"是","否")%></td> 
          <td align="center"><%=iif(rs(i).name = primarykey,"是","否")%></td> 
          <td align="center"> 
            <a href="?key=editfidlevi&fidle=<%=rs(i).name%>&table_name=<%=table_name%>&fidletype=<%=typ(rs(i).type)%>">修改</a>  
            <a href="?key=sql&sql=alter table [<%=table_name%>] drop [<%=rs(i).name%>];" onClick="return table_delete();">删除</a> 
          </td> 
        </tr> 
        <% 
            editstr = editstr&"<option value='"&rs(i).name&"'>"&rs(i).name&"</option>" 
        next 
        %> 
        </table> 
        <br> 
        <a href="?key=tosql&strt=0&table_name=<%=table_name%>">导出表结构</a>   
        <a href="?key=sql&sql=select * from <%=table_name%>&table_name=<%=table_name%>&primarykey=<%=primarykey%>">浏览表记录</a>   
        <a href="?key=sql&sql=DROP TABLE <%=table_name%>" onClick="return table_delete();">删除表</a>      
        <input type="text" name="newtablename" size="20" value="<%=table_name%>"> 
        <input type="button" value="修改表名" onClick="location.href='?key=reobj&obj=table&tablename=<%=table_name%>&newtablename='+newtablename.value"> 
        <br><br> 
        <% 
        '判断是否有主键 
        if primarykey = "" then 
            echo "<font color=red>该表没有主键,执行操作可能会导致数据损坏或丢失。</font><br>" 
            echo "你可以将:" 
            echo "<select name='keyname'>" 
            For i=0 to rs.fields.count-1 
                echo "<option value=" & rs(i).name & ">" & rs(i).name & "</option>" 
            next 
            echo "</select> " 
            echo "<input type=button value=设为主键 onclick=""location.href='?key=sql&sql=ALTER TABLE ["&table_name&"] ADD PRIMARY KEY (['+keyname.value+'])';"">" 
            echo "<br><br>" 
        end if 
        '显示修改字段名 
        echo "<select name='fieldsname'>" 
        echo "<option value=''>选择字段</option>" 
        echo editstr 
        echo "</select> 改名为 "  & chr(10) 
        echo "<input type='text' name='newfieldsname' size='20'> "  & chr(10) 
        echo "<input type=button value=修改字段名 onclick=""location.href='?key=reobj&obj=field&tablename="&table_name&"&fieldsname='+fieldsname.value+'&newfieldsname='+newfieldsname.value"">" 
        echo "<br><br>" 
    end if 
    rs.close 
    set rs = nothing 
    %> 
    <font color=red>增加字段:</font><br><br> 
    <form action="?key=addfield" method="post"> 
      <table width="600" height="39" border="0" cellpadding="2" cellspacing="1" bgcolor="#CCCCCC"> 
        <tr>  
          <td width="60" height="20" align="center">字段名</td> 
          <td width="50" height="20" align="center">类型</td> 
          <td width="58" height="20" align="center">设定大小</td> 
          <td width="64" height="20" align="center">允许空值</td> 
          <td width="66" height="20" align="center"> 自动编号</td> 
          <td width="96" height="20" align="center">  </td> 
        </tr> 
        <tr>  
          <td width="60" height="20" align="center">  
            <input type="text" name="fldname" size="10"> 
          </td> 
          <td width="50" height="20" align="center">  
            <% fieldtypelist(0) %> 
          </td> 
          <td width="58" height="20" align="center">  
            <input type="text" name="fldsize" size="10"> 
          </td> 
          <td width="64" height="20" align="center">  
            <input name="null" type="checkbox" value="ON" checked> 
          </td> 
          <td width="66" height="20" align="center">  
            <input type="checkbox" name="autoincrement" value="ON"> 
          </td> 
          <td width="96" height="20" align="center">  
            <input type="hidden" name="table_name" value="<%=table_name%>"> 
            <input type="submit" value="提交"> 
          </td> 
        </tr> 
    </table> 
    </form> 
    <% 
end sub 
'==================================================================修改字段属性的界面 
sub editfidlevi() 
    dim sql,rs,i 
    on error resume next 
    sql = "Select * From [" & request("table_name") & "]" 
    set rs = conn.execute(sql) 
    for i = 0 to rs.fields.count - 1 
        if rs(i).name = request("fidle") then 
        %> 
        <script LANGUAGE="JavaScript"> 
            function validate(theForm) { 
                if (theForm.type.value == "") 
                { 
                alert("请输入数据类型"); 
                theForm.type.focus(); 
                return (false); 
                } 
                return (true); 
            } 
        </script> 
        <font color=red>修改字段属性:</font> 
        <form action="?key=editfidle&fidle=<%=request("fidle")%>&table_name=<%=request("table_name")%>" method="post" name=frm onSubmit="return validate(frm)"> 
        <table width="600" border="0" cellpadding="2" cellspacing="1" bgcolor="#CCCCCC"> 
          <tr>  
            <td width="60" height="20" align="center">字段名</td> 
            <td width="50" height="20" align="center">类型</td> 
            <td width="58" height="20" align="center">设定大小</td> 
            <td width="64" height="20" align="center">允许空值</td> 
            <td width="66" height="20" align="center">自动编号</td> 
            <td width="96" height="20"></td> 
          </tr> 
          <tr>  
            <td width="60" height="20" align="center"><%=rs(i).name%></td> 
            <td width="50" height="20" align="center">  
            <% fieldtypelist(request("fidletype")) %> 
              </td> 
              <td width="58" height="20"><input type="text" name="size" size="10"></td> 
              <td width="64" height="20" align="center"> 
              <input type="checkbox" name="null" value="null"<%=iif((rs(i).Attributes and adFldIsNullable)=0,""," checked")% 
              </td> 
              <td width="66" height="20" align="center">  
              <input type="checkbox" name="autoincrement" value="y"<%=iif(rs(i).Properties("ISAUTOINCREMENT") = True," checked","")% 
              </td> 
              <td width="96" height="20" align="center">  
              <input type="submit" name="Submit" value="提交"> 
              </td> 
            </tr> 
          </table><br> 
        </form> 
        <% 
        end if 
    next 
end sub 
'==================================================================执行修改字段属性 
sub editfidle() 
       on error resume next 
       sql = "ALTER TABLE [" & request("table_name") & "] " 
       sql = sql&"ALTER COLUMN [" & request("fidle") & "] " 
       if request("field_type") <> "" then 
          sql = sql & request("field_type") 
       end if 
       if request("size") <> "" then 
          sql = sql & "(" & request("size") & ") " 
       end if 
          if request("null") = "" then 
              sql = sql & " not null" 
          end if 
          if request("autoincrement") = "y" then 
              sql = sql & " identity" 
          end if 
    sql = trim(sql) 
    conn.execute(sql) 
    response.redirect "?key=view&table_name="& request("table_name") 
end sub 
'==================================================================添加字段函数 
sub addfield() 
    on error resume next 
    fldname = request("fldname") 
    fldtype = request("field_type") 
    fldsize = request("fldsize") 
    fldnull = request("null") 
    fldautoincrement = request("autoincrement") 
    table_name = request("table_name") 
    if fldname <> "" and fldtype <> "" then 
      sql = "alter table [" & table_name & "] add ["&fldname&"] " & fldtype 
      if fldsize <> "" then 
        sql = sql & "(" & fldsize & ")" 
      end if  
      if fldnull <> "ON" then 
        sql = sql & " not null" 
      end if 
      if fldautoincrement = "ON" then 
        sql = sql & " identity" 
      end if 
      conn.execute(sql) 
      response.redirect "?key=view&table_name=" & table_name 
    else 
      echo "输入数据错误!<input type='button' name='ok' value=' 返 回 ' onClick='javascript:history.go(-1)'>" 
    end if 
    if err <> 0 then 
        echo err.description 
        echo "<input type='button' name='ok' value=' 返 回 ' onClick='javascript:history.go(-1)'>" 
        response.end 
    end if 
end sub 
'==================================================================编辑数据 
sub editdata() 
    dim keys,names,values,action,rs,sql,tab 
    on error resume next 
    keys = request("primarykey") 
    names = request("table_name") 
    values = request("primarykeyvalue") 
    action = request("action") 
    Set rs = Server.CreateObject("Adodb.RecordSet") 
    if action = "" or action = "save" or action = "new" then 
        sql = "select * from " & names & " where " & keys & " = " & values 
    end if 
    if action = "pre" then 
        sql = "select top 1 * from " & names & " where " & keys & " < " & values & " order by " & keys & " desc" 
    end if 
    if action = "next" then 
        sql = "select top 1 * from " & names & " where " & keys & " > " & values & " order by " & keys & " asc" 
    end if 
    if action = "add" then 
        sql = "Select * From [" & names & "]" 
    end if 
    rs.Open sql, conn, 1, 3 
    if rs.eof and action = "new" then 
        sql = "Select * From [" & names & "]" 
        rs.Open sql, conn, 1, 3 
    end if 
    if action = "save" or action = "new" then 
        If action = "new" Then rs.AddNew 
        For Each tab In rs.Fields 
            If Keys <> tab.Name Then 
                rs(tab.Name) = Request.Form(tab.Name & "_Column") 
                if err <> 0 then 
                    echo tab.name & err.description 
                    echo "<input type='button' name='ok' value=' 返 回 ' onClick='javascript:history.go(-1)'>" 
                    response.end 
                end if 
            End If 
        Next 
        rs.update 
    end if 
    echo "字段数据编辑<br>" 
    echo "<table width=600 border=0 cellpadding=5 cellspacing=1 bgcolor=#CCCCCC><tr><td>" 
    echo "<form action='?key=edit&table_name=" & names & "&primarykey=" & keys & "&primarykeyvalue=" & iif(action<>"add",rs(keys),"") & "' method='post' name='editor'>" 
    echo "<br>" 
    echo "<input type=hidden name=action value=save>" 
    echo iif(action="add","","<input type=submit value=保存 onclick=this.form.action.value='save';> ") 
    echo "<input type=button value=添加 onclick=if(confirm('确实要添加当前为新记录吗?')){this.form.action.value='new';this.form.submit();};> " 
    echo "<input type=button value=上一条 onclick=""this.form.action.value='pre';this.form.submit();""> " 
    echo "<input type=button value=下一条 onclick=""this.form.action.value='next';this.form.submit();"">  " 
    echo "<a href='?key=view&table_name=" & names & "'>表结构</a>  " 
    echo "<a href='?key=sql&sql=select * from " & names & "&table_name="& names & "&primarykey="&keys&"'>表浏览</a>  " 
    echo "<a href='?'>主界面</a><br>" 
    if not rs.eof or action = "add" then 
        For Each tab In rs.Fields 
            echo "" 
            echo "<BR><font color=red>" & tab.Name & "</font> <font color=#999999>( " & typ(tab.Type) & " )</font><br>" 
            if tab.Type = 201 Or tab.Type = 203 then 
                echo "<textarea style='width:600;' name=""" & tab.Name & "_Column"" rows=6" 
                echo IIf(tab.Name = keys, " disabled title='主键约束,将无法被修改.'>", ">") 
                if action <> "add" then echo trim(tab.value) 
                echo "</textarea>" 
            else 
                echo "<input type='text' style='width:600;' name='" & tab.Name & "_Column'" 
                echo IIf(tab.Name = keys, " disabled title='主键约束,将无法被修改.'", " ") & " value='" 
                if action <> "add" then echo trim(tab.value) 
                echo "'>" 
            end if 
            echo "<br>" 
        Next 
    else 
        echo "<script>alert('已经没有了!');history.back();</script>" 
        Response.End() 
    end if 
    echo "<br>" 
    echo iif(action="add","","<input type=submit value=保存 onclick=this.form.action.value='save';> ") 
    echo "<input type=button value=添加 onclick=if(confirm('确实要添加当前为新记录吗?')){this.form.action.value='new';this.form.submit();};> " 
    echo "<input type=button value=上一条 onclick=""this.form.action.value='pre';this.form.submit();""> " 
    echo "<input type=button value=下一条 onclick=""this.form.action.value='next';this.form.submit();"">  " 
    echo "<a href='?key=view&table_name=" & names & "'>表结构</a>  " 
    echo "<a href='?key=sql&sql=select * from " & names & "&table_name="& names & "&primarykey="&keys&"'>表浏览</a>  " 
    echo "<a href='?'>主界面</a>  " 
    echo "</form></td></tr></table>" 
end sub 
'==================================================================显示存储过程 
sub showproc() 
    dim sTableName,adox 
    on error resume next 
    echo "存储过程:<font color=red>" & Request("table_name") & "<font><br>" 
    sTableName = Request("table_name") 
    Set adox = Server.CreateObject("ADOX.Catalog") 
    adox.ActiveConnection = Conn 
    echo "<textarea cols=70 rows=8>" & adox.Procedures(sTableName).Command.CommandText & "</textarea><br>" 
    if err <> 0 then 
        echo err.description 
        exit sub 
    end if 
end sub 
'==================================================================分页导航 
'分页导航 
sub showNavBar (rs,page,pageUrl,pageSize) 
    page = cint(page) 
    %> 
    <table width="100%" border="0" cellpadding="2" cellspacing="1" bgcolor="#CCCCCC"> 
    <tr> 
      <% if request("primarykey") <> "" and request("table_name") <> "" then %> 
      <td align="left">当前表:<font color=red><%=request("table_name")%></font>     
      <a href="?key=edit&table_name=<%=request("table_name")%>&primarykey=<%=request("primarykey")%>&action=add">插入新记录</a>  
      </td> 
      <% end if %> 
      <td align="right"> 
        <% 
        echo "共有" & rs.recordCount & "条纪录 当前" & page & "/" & rs.PageCount & "页" 
        if page > 1 then 
            echo "<a href='" & pageUrl & "&page=1&pageSize="&pageSize&"'>首页</a> "  
            echo "<a href='" & pageUrl & "&page=" & page - 1 & "&pageSize="&pageSize&"'>上页</a> " 
        end if 
        if (rs.PageCount > 1 and page < rs.PageCount) then 
            echo "<a href='" & pageUrl & "&page=" & page + 1 & "&pageSize="&pageSize&"'>下页</a> " 
            echo "<a href='" & pageUrl & "&page=" & rs.pageCount & "&pageSize="&pageSize&"'>末页</a> " 
        end if 
        echo "转到:第" 
        echo "<select name='select2' onChange='location.href=this.value;'>" 
        dim i 
        for i = 1 to rs.PageCount 
            echo "<option value='"& pageUrl &"&pageSize="&pageSize&"&page="& i & "' " 
            if i = cint(page) then echo "selected" 
            echo ">"& i &"</option>" 
        next 
        echo "</select>页" 
        %> 
        </td> 
    </tr> 
    </table> 
    <% 
end sub 
'==================================================================显示查询 
sub showselect(sql) 
    dim page,pageUrl,strdel,geturl                     
    pageSize = request("pageSize")             '设置每页显示的记录数 
    if pageSize = "" or not isNumeric(pageSize) then pageSize = 50 
    '判断是否删除 
    if request("keylog") <> "" then 
        strdel = "delete from " & request("table_name") & " where " & request("primarykey") & "=" & request("keylog") 
        response.Write strdel 
        conn.execute(strdel) 
        geturl = "?" & replace(request.QueryString,"&keylog="&request("keylog"),"") 
        response.Redirect geturl 
    end if 
    page = request("page")           '设置当前显示的页数 
    if page="" or not isNumeric(page) then page=1 
    pageUrl = "?key=sql&sql=" & sql 
    if request("primarykey") <> "" and request("table_name") <> "" then 
      pageUrl = pageUrl & "&table_name=" & request("table_name") & "&primarykey=" & request("primarykey") 
    end if 
    '-------------------------- 
   dim rs 
   set rs = Server.CreateObject("ADODB.Recordset") 
   rs.Open sql,conn,3 
   if not rs.eof then 
         rs.pageSize = pageSize 
      if cint(page) < 1 then page = 1 
         if cint(page) > rs.PageCount then page = rs.PageCount 
         rs.absolutePage = page 
   end if 
    '显示分页导航 
   showNavBar rs,page,pageUrl,pageSize 
   '------------------------------- 
   echo "<div style='overflow-x:auto;overflow-y:auto; width:800;height:380;'>" 
   echo "<table border=0 border=0 cellpadding=3 cellspacing=1 bgcolor=#CCCCCC><tr>" 
   primarykey = request("primarykey") 
   if primarykey <> "" and request("table_name") <> "" then 
   echo "<td bgcolor=#ffffff>操作</td><td bgcolor=#ffffff>删</td>" 
   end if 
   for i = 0 to rs.fields.count - 1         '循环字段名 
      set field = rs.fields.item(i) 
      echo "<td bgcolor=#ffffff>" & field.name & " </td>" 
   next 
   echo "</tr>" 
   dim i,field,j 
   do while not rs.eof and j < rs.pageSize                    '循环数据 
      echo "<tr>" 
      if primarykey <> "" and request("table_name") <> "" then 
      echo "<td bgcolor=#ffffff nowrap><a href='?key=edit&table_name=" & request("table_name") & "&primarykey=" & primarykey & "&primarykeyvalue=" & rs(primarykey) & "'><font color=#666666>编辑</font></a></td>" 
      echo "<td><a href='?"&Request.QueryString&"&keylog="&rs(primarykey)&"' onClick='return table_delete();'><font color=#FF000>×</font></a></td>" 
      end if 
      for i = 0 to rs.fields.count - 1 
         set field = rs.fields.item(i) 
         if len(field.value) < 12 then 
             echo "<td bgcolor=#ffffff nowrap>" & field.value & " </td>" 
         else 
             echo "<td bgcolor='#ffffff'><span class='fixspan'>" & field.value & " </span></td>" 
         end if 
      next 
      echo "</tr>" 
      rs.MoveNext 
      j = j + 1 
   loop 
   'response.ContentType ="application/vnd.ms-excel"'生成EXCEL表格 
   echo "</table></div>" 
end sub 
sub exesql(sql) 
    on error resume next 
    '==================================================================执行sql函数 
    if trim(request.form("SchemaTable")) <> "" then Call showSchema (adSchemaTables) 
    if trim (request.form("SchemaColumn")) <> "" then Call showSchema(adSchemaColumns) 
    if trim (request.form("SchemaProvider")) <> "" then Call showSchema(adSchemaProviderTypes) 
    sql = trim(request("sql")) 
    if sql = "" then exit sub 
    sql = RegExpReplace(sql, "(--)(.)*\n", "")   '替换注释 
    sql = RegExpReplace(sql, "\n[\s| ]*\r", "")  '替换空行 
    sql = RegExpReplace(sql, "\n", "")           '替换换行符 
    sql = RegExpReplace(sql, "\r", "")           '替换回车符 
    if (LCase(left(sql,len("select"))) = "select") and instr(sql,"into") = 0 then 
       Call showSelect (sql) 
       if err <> 0 then echo "<br><font color=red>" & err.description & "</font>" 
       response.end 
    else 
           '如果非select语句,允许执行多条以分号分隔的语句 
           dim aSql,iLoop 
           aSql = split(sql,";") 
           for iLoop = 0 to UBound(aSql) 
            if trim(aSql(iLoop)) <> "" then 
                  conn.execute (aSql(iLoop)) 
                if err <> 0 then 
                    echo "<br><font color=red>" & err.description & "<br>  <b>" 
                    echo iLoop + 1 & "、</b></font><font color=#CC6600>" & aSql(iLoop) & "</font><br>" 
                    'err.clear()     '忽略错误 
                    exit sub          '中止执行 
                else 
                    echo "<div style='padding:3px 0px;border-bottom:1px solid #069;'><b>" & iLoop + 1 & "、</b>" & aSql(iLoop) & "</div>" 
                end if 
            end if 
        next 
        echo "<font color=red><h4>命令执行成功</h4></font>" 
   end if 
end sub 
'显示数据库信息 
'QueryType有以下三个主要参数 
'adSchemaTables 
'adSchemaColumns 
'adSchemaProviderTypes 
'Call showSchema (adSchemaTables) 
sub showSchema(QueryType) 
dim rs 
'set rs = conn.OpenSchema() 
set rs = conn.OpenSchema (QueryType) 
'set rs = conn.OpenSchema (adSchemaProviderTypes) 
   echo "<div style='overflow-x:auto;overflow-y:auto; width:800;height:380;'><table border=0 border=0 cellpadding=3 cellspacing=1 bgcolor=#CCCCCC><tr>" 
   for i = 0 to rs.fields.count - 1         '循环字段名 
      set field = rs.fields.item(i) 
      echo "<td bgcolor='#FFFFFF'>" & field.name & " </td>" 
   next 
   echo "</tr>" 
   dim i,field 
   do while not rs.eof                      '循环数据 
      echo "<tr>" 
      for i = 0 to rs.fields.count - 1 
         set field = rs.fields.item(i) 
         echo "<td bgcolor='#FFFFFF'>" & field.value & "  </td>" 
      next 
      echo "</tr>" 
      rs.MoveNext 
   loop 
   echo "</table></div>" 
end sub    
%> 
<% 
'==================================================================导出SQL 
sub tosql(strt) 
    'strt = 0 导出结构 
    'strt = 1 导出内容 
    dim strsql 
    if strt = "0"  then 
        table = request("table_name") 
        echo "以下是表 <font color=red>" & request("table_name") & "</font> 的结构: " 
        echo "<input type='button' name='ok' value=' 返 回 ' onClick='javascript:history.go(-1)'>" 
        strsql = getsql(table) 
    end if 
    if strt = "2" then 
        echo "以下是 <font color=red> 数据库 </font> 的结构: " 
        echo "<input type='button' name='ok' value=' 返 回 ' onClick='javascript:history.go(-1)'>" 
        set objSchema = Conn.OpenSchema(adSchemaTables) 
        Do While Not objSchema.EOF 
            if objSchema("TABLE_TYPE") = "TABLE" then 
                table = objSchema("TABLE_NAME") 
                strsql = strsql & getsql(table)'table & "|"'getsql(table) 
            end if 
        objSchema.MoveNext 
        Loop 
        objSchema.close 
    end if         
    echo "<textarea cols=110 rows=38>" & strsql & "</textarea>" 
    conn.close 
end sub 
'================================================================== 输出表结构 
function getsql(table) 
    on error resume next 
    getsql = "-- 表结构 " & table & " 的SQL语句。" & chr(10) 
    dim primary,primarykey 
    Set primary = Conn.OpenSchema(adSchemaPrimaryKeys,Array(empty,empty,table)) 
    if primary("COLUMN_NAME") <> "" then 
        primarykey = primary("COLUMN_NAME") 
    end if 
    primary.Close 
    set primary = nothing 
    tbl_struct = "CREATE TABLE [" & table & "] ( " & chr(10) 
    sql = "SELECT * FROM " & table 
    Set rs = Conn.Execute(sql) 
    if err = 0 then 
        for i = 0 to rs.fields.count-1 
           tbl_struct = tbl_struct & "[" & rs(i).name & "] " 
           typs = typ(rs(i).type) 
           if typs = "VARCHAR" or typs = "BINARY" or typs = "CHAR" then 
             tbl_struct = tbl_struct & typs & "(" & rs(i).definedsize & ")" 
           else 
             tbl_struct = tbl_struct & typs & " " 
           end if 
           attrib = rs(i).attributes 
           if (attrib and adFldIsNullable) = 0 then 
             tbl_struct = tbl_struct&" NOT NULL" 
           end if 
           if rs(i).Properties("ISAUTOINCREMENT") = True then 
             tbl_struct = tbl_struct & " IDENTITY" 
           end if 
           tbl_struct = tbl_struct & "," & chr(10) 
        next 
        if primarykey <> "" then 
            tbl_struct = tbl_struct & "PRIMARY KEY ([" & primarykey & "]));" 
        else 
            len_of_sql = Len(tbl_struct) 
            tbl_struct = Mid(tbl_struct,1,len_of_sql-2) 
            tbl_struct = tbl_struct & ");" 
        end if 
    else 
        tbl_struct = "CREATE TABLE [" & table & "];" 
    end if 
    getsql = getsql & tbl_struct & chr(10) & chr(10) 
end function 
sub help() 
    echo "SQL 常用语句:<br><br>" 
    echo "创建表:<br>" 
    echo "CREATE TABLE [表名] (<br>" 
    echo "[test1] int not null identity,<br>" 
    echo "[test2] binary not null,<br>" 
    echo "primary key ([test1]))<br><br>" 
    echo "设置主键:ALTER TABLE [tablename] ADD PRIMARY KEY ([fieldname])<br><br>" 
    echo "查询:select * from tablename where fieldname *** order by id desc<br><br>" 
    echo "更新:update tanlename set fieldname = values,cn_name='values' where ID = 1<br><br>" 
    echo "添加:insert into tanlename (fieldnam,fieldnam2)values (1,'values')<br><br>" 
    echo "删除:delete from tanlename where fieldname = values<br><br>" 
    echo "删除表:DROP TABLE 数据表名称<br><br>" 
    echo "添加字段:ALTER TABLE [表名] ADD [字段名] NVARCHAR (50) NULL<br><br>" 
    echo "删除字段:alter table [tablename] drop [fieldname]<br><br>" 
    echo "修改字段:ALTER TABLE [表名] ALTER COLUMN [字段名] 类型(大小) NULL<br><br>" 
    echo "新建约束:ALTER TABLE [表名] ADD CONSTRAINT 约束名 CHECK ([约束字段] <= '2000-1-1')<br><br>" 
    echo "删除约束:ALTER TABLE [表名] DROP CONSTRAINT 约束名<br><br>" 
    echo "新建默认值:ALTER TABLE [表名] ADD CONSTRAINT 默认值名 DEFAULT '51WINDOWS.NET' FOR [字段名]<br><br>" 
    echo "删除默认值:ALTER TABLE [表名] DROP CONSTRAINT 默认值名<br><br>" 
end sub 
%> 
<!--程序界面主表格开始--> 
<table width="100%" height="100%" border="0" cellpadding="5" cellspacing="1" bgcolor="#CCCCCC"> 
  <tr> 
    <td width="18%" valign="top"> 
<div id="Layer1" style="overflow-x:auto;overflow-y:auto; width:100%;height:100%;"> 
<div style="width:140px;height:0px;overflow:hidden;"></div> 
表: <a href="?">主界面</a> <a href="?key=exit">退出</a> <a href="?key=help">Help</a><br> 
<% 
set objSchema = Conn.OpenSchema(adSchemaTables) 
Do While Not objSchema.EOF 
    if objSchema("TABLE_TYPE") = "TABLE" then 
        '输出表名 
        echo "<a href='?key=view&table_name="& objSchema("TABLE_NAME") &"'>" & objSchema("TABLE_NAME") & "</a><br>" 
    end if 
objSchema.MoveNext 
Loop 
echo "所有视图:<br>" 
objSchema.MoveFirst 
Do While Not objSchema.EOF 
    if objSchema("TABLE_TYPE") = "VIEW" then 
        '输出表名 
        echo "<a href='?key=sql&sql=SELECT * FROM [" & objSchema("TABLE_NAME")& "]'>" & objSchema("TABLE_NAME") & "</a><br>" 
    end if 
objSchema.MoveNext 
Loop 
objSchema.Close 
set objSchema = nothing 
'echo "存储过程:<br>" 
'set objSchema = Conn.OpenSchema(adSchemaProcedures) 
'Do While Not objSchema.EOF 
'    echo "<a href='?key=proc&table_name="& objSchema("PROCEDURE_NAME") &"'>" & objSchema("PROCEDURE_NAME") & "</a><br>" 
'objSchema.MoveNext 
'Loop 
'objSchema.Close 
'set objSchema = nothing 
%> 
</div> 
    </td> 
    <td width="82%" valign="top"> 
<div id="Layer2" style="overflow-x:anto;overflow-y:auto; width:100%;height:100%;"> 
<% 
select case request("key") 
case "" '显示主界面 
  call main("") 
case "addtable" '显示创建表界面 
  call add_table(request("table_name"),request("field_num")) 
case "createtable" '执行创建表 
  call create_table() 
case "view" 
  call view(request("table_name")) 
case "sql" 
  call main("1") 
  call exesql(trim(request("sql"))) 
case "addfield" 
  call addfield() 
case "editfidlevi" 
  call view(request("table_name")) 
case "editfidle" 
  call editfidle() 
case "exit" 
  session("dbtype") = "" 
  session("dbstr") = "" 
  session("db007pass") = "" 
  response.redirect "?" 
case "tosql" 
  call tosql(request("strt")) 
case "proc" 
  call main("1") 
  call showproc() 
case "help" 
  call help() 
case "edit" 
  call EditData() 
case "reobj" 
  call reobj() 
end select 
%> 
</div> 
    </td> 
  </tr> 
</table> 
<!--程序界面主表格结束--> 
</body> 
</html>