很酷,只要修改几个参数就可以了,很有帮助
<%@ LANGUAGE = JScript %><% var ConnStr= "DSN=admin"; // var UserLogin= "sa"; // input empty Login and Password, var UserPassword= ""; // if your DSN works via WinNT trust connection var CharSet= "gb2312"; // as sample "windows-1251" var PgSize= 10; %><HTML><head><meta http-equiv="content-type" content="text/HTML; charset=<%=CharSet%>"><title>MS SQL Structure Viewer Version 1.2</title></head><body bgcolor=#2f2f2f link=#000000 vlink=#000000 alink=#000000 topmargin=1 leftmargin=1><table width='100%' bgcolor=gray cellpadding=0 cellspacing=0><td><table width='100%' cellpadding=0 cellspacing=1><tr><td align=center> <font color=white size= 1><b>MS SQL WebTools >> Table Structure Viewer</b></font></td> <td align=right> <font color=black><small><b>written by <a href="mailto:[email protected]"> <font color=black><small><b>Alexander Tkalich</b></small></a></b></small></font></td></tr></table></td></table><p><%var trColor1= "#7f9faf", trColor2= "#bfcfd7";var trColor= trColor1;
function isDef( Value){ if( Value== ( Value "")) return true; return false;}
function QOutSelect( Conn, Name, Value, FirstName, FirstValue, SQL, SSize){ var Rs= Conn.Execute( SQL); Response.Write( "<select name='" Name "' size=" SSize ">"); if( FirstName!= "") Response.Write( "<option value='" FirstValue "'>" FirstName); for( ; !Rs.EOF; Rs.MoveNext()){ Id= Rs( 0); Nm= Rs( 1); if( Value== "" Id) S= 'selected'; else S= ''; Response.Write( "<option value='" Id "' " S ">" Nm "\n"); } Response.Write( "</select>");}
var S, DbName, TbName, Tbl, Row;if( !isDef( DbName= Request.Form( "DbName"))) DbName= Request.QueryString( "DbName");if( !isDef( TbId= Request.Form( "TbId"))) TbId= Request.QueryString( "TbId");Tbl= Request.QueryString( "Tbl");Row= Request.QueryString( "Row")/ 1;%>
<center>
<%var Conn= Server.CreateObject("ADODB.Connection");Conn.Open( ConnStr, UserLogin, UserPassword);
if( !isDef( Tbl)){%>
<form name='f' method=post action='TbStru.ASP'><input type=hidden name=CurrentDb value='<%=DbName%>'><table border=1 bgcolor=#7f9faf cellpadding=0 cellspacing=0><td><table border=0 cellpadding=8 cellspacing=0><tr valign=bottom><td align=center><b>Databases</b><br>
<% QOutSelect( Conn, "DbName' onChange='document.f.submit();", DbName, "", "", "select name, name from master.dbo.sysdatabases Order by name", 10); Response.Write( '</td>'); if( isDef( DbName)){ Response.Write( '<td align=center><b>Tables & Views</b><br>'); QOutSelect( Conn, "TbId' onChange='document.f.submit();", TbId, '', '', "select id, name from " DbName ".dbo.sysobjects where type in ('U','V') and category<>2 Order By Name", 10); Response.Write( '</td>'); } if( isDef( DbName)) S= 'Show structure'; else S= 'Show list of tables'; Response.Write( "\n<td><table height='100%' border=0>\n" "<tr valign=bottom><td><input type=submit value='" S "'></td></tr>\n" "</table></td></tr></table></td></table></form><p>\n" );}
if( !isDef( CurrentDb= Request.Form( "CurrentDb"))) CurrentDb= Request.QueryString( "CurrentDb");if( !isDef( Tbl)&& isDef( DbName)&& DbName ""== CurrentDb ""&& isDef( TbId)){ Rs= Conn.Execute( "select O.name, U.name" " from " DbName ".dbo.sysobjects O, " DbName ".dbo.sysusers U" " where O.id=" TbId " and U.uid=O.uid" ); TbName= Rs( 0); TbOwner= Rs( 1); Response.Write( "<a target='_blank' href=../../'TbStru.ASP?Tbl=[" DbName "].[" TbOwner "].[" TbName "]&TbId=" TbId "&DbName=" DbName "'>" "<font color=white><b>" DbName "." TbOwner "." TbName "</b></font></a>\n" ); Response.Write( "<br>\n"); Rs= Conn.Execute( "select C.name, T.name, C.length, C.xprec, C.xscale," " C.colstat, C.isnullable," " case when C.autoval is null then 0 else 1 end," " SC.text, " "( select CForgin.name ' of ' '<a href=../../\"TbStru.ASP?" "DbName=" DbName "&CurrentDb=" DbName "&TbName=' O.name '&TbId=' Convert( varchar, Sr.rkeyid) '" "\"><b>' O.name '</b></a>'" " from " DbName ".dbo.sysreferences Sr," DbName ".dbo.sysobjects O," DbName ".dbo.syscolumns CForgin" " where Sr.fkeyid=" TbId " and Sr.fkey1=C.colid and Sr.rkeyid=O.id" " and CForgin.id=O.id and CForgin.colid=Sr.rkey1" ") from " DbName ".dbo.syscolumns C, " DbName ".dbo.systypes T, " DbName ".dbo.syscomments SC " "where C.id=" TbId " and C.xtype=T.xusertype and C.cdefault*=SC.id " "order by C.colid" );%> <input type=hidden name=DbName value='<%=DbName%>'> <input type=hidden name=CurrentDb value='<%=DbName%>'> <input type=hidden name='TbId'