亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

SQL SERVER結構瀏覽器

2019-11-18 21:15:33
字體:
來源:轉載
供稿:網友
從老外那兒轉帖過來的

很酷,只要修改幾個參數就可以了,很有幫助

<%@ 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 &gt;&gt; Table Structure Viewer</b></font></td>
    <td align=right>
    <font color=black><small><b>written by
    <a href="mailto:little@ivc.tagmet.ru">
    <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' value='<%=TbId%>'>
    <table border=1 bordercolor=#5f5f5f bgcolor=#cfcfcf cellpadding=3 cellspacing=0>
    <tr bgcolor=<%=trColor%>><th>Nn</th><th>Name</th><th>Type</th><th>length</th>
        <th>precision</th><th>scale</th><th>default value</th><th>properties</th><th>relation</th></tr>
<%
    for( TrColor= '', i= 1; !Rs.EOF; i++, Rs.MoveNext()){
        if( trColor== trColor1) trColor= trColor2;
        else trColor= trColor1;
%>
        <tr bgcolor=<%=trColor%>>
        <td bgcolor=<%=trColor2%> align=right><b><%=i%></b></td><td>&nbsp;
        <%=Rs( 0)%></td>
        <td align=right>&nbsp;<%=Rs( 1)%></td>
        <td align=right>&nbsp;<%=Rs( 2)%></td>
<%
        if( Rs( 1)== 'numeric'|| Rs( 1)== 'decimal'){
            prec= Rs( 3);
            scale= Rs( 4);
        } else prec= scale= '&nbsp;';
        colstat= "";
        if( Rs( 7)== 1) colstat+= ", Identity";
        if( Rs( 5)== 1) colstat+= ", Primary Key";
        if( Rs( 6)== 1) colstat+= ", Nullable";
        if( colstat== "")
            colstat= "&nbsp;";
        else
            colstat= colstat.substring( 2);
        cdefault= Rs( 8);
        if( !isDef( cdefault)) cdefault= "&nbsp;";
        else {
            cdefault= ""+ cdefault;
            cdefault= cdefault.substring( 1, cdefault.length- 1);
        }
        foreign= Rs( 9);
        if( !isDef( foreign)) foreign= "&nbsp;";
%>
        <td align=right><%=prec%></td><td><%=scale%></td>
        <td><%=cdefault%></td><td><%=colstat%></td><td><%=foreign%></td>
        </tr>
<%
    }
%>
    </table>
<%
}
if( isDef( Tbl)){
    Response.Write( "<font color=white><b>"+ Tbl+ "</b></font></a><br>/n");
    Rs= Conn.Execute( "select count( *) from "+ Tbl);
    RecordCount= Rs( 0);
    Response.Write( "<font color=white>"+ RecordCount+ " Records total</font><br>");
    Rs= Conn.Execute( "select * from "+ Tbl);
    if( !isDef( Row))
        Row= 0;
    if( !Rs.EOF)
        Rs.Move( Row);
%>
<table bgcolor=#9fbfcf border=1 cellpadding=1 cellspacing=0><tr bgcolor=#cfcfcf><th>N/n</th>
<%
    var ColCount= Rs.Fields.Count;
    for( i1= 0; i1< ColCount; i1++)
        Response.Write( "<th>"+ Rs.Fields( i1).Name+ "</th>");
    Response.Write( "</tr>/n");
    Prev= Row- PgSize;
    if( Prev< 0&& Row> 0) Prev= 0;
    for( i= Row+ 1, Cntr= 0;
         Cntr< PgSize&& !Rs.EOF;
         Rs.MoveNext(), i++, Cntr++
    ){
        if( trColor== trColor1) trColor= trColor2;
        else trColor= trColor1;
%>
        <tr bgcolor=<%=trColor%>>
        <td bgcolor=<%=trColor2%> align=right><b><%=i%></b></td>
<%
        for( i1= 0; i1< ColCount; i1++)
            Response.Write( "<td>"+ Rs.Fields( i1).Value+ "</td>");
        Response.Write( "</tr>/n");
    }
    if( Cntr> 0){
        Response.Write( "<tr bgcolor=#cfcfcf><th>N/n</th>");
        for( i1= 0; i1< ColCount; i1++)
            Response.Write( "<th>"+ Rs.Fields( i1).Name+ "</th>");
        Response.Write( "</tr>/n");
    }
    Response.Write( "</table>/n<table width='50%' border=0>");
    if( Prev>= 0){
        QS= new String( Request.QueryString);
        Prev= QS.substring( 0, QS.lastIndexOf( "=")+ 1)+ Prev;
        Response.Write( "<td><a href='TbStru.asp?"+ Prev+ "'><font color=white><b>&lt;&lt; Previous</a>&nbsp;&nbsp;&nbsp;</b></font></td>/n");
    }
    if( !Rs.EOF){
        QS= new String( Request.QueryString);
        if( QS.lastIndexOf( "&Row=")+ 1)
            Next= QS.substring( 0, QS.lastIndexOf( "=")+ 1)+ ( i- 1);
        else
            Next= QS+ "&Row="+ ( i- 1);
        Response.Write( "<td align=right><a href='TbStru.asp?"+ Next+ "'><font color=white><b>Next &gt;&gt;</b></font></a></td>/n");
    }
    Response.Write( "</table>");
}
%>


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久久亚洲影视| 久久99国产精品久久久久久久久| 欧美亚洲另类激情另类| 欧美高清videos高潮hd| 在线激情影院一区| 免费av一区二区| 久久久久久久久久亚洲| 欧美国产日韩一区二区三区| 午夜精品理论片| 国产亚洲精品va在线观看| 国产日韩欧美夫妻视频在线观看| 国产精品福利在线观看| 欧美专区第一页| 成人春色激情网| 国产精品444| 中文日韩在线观看| 久久综合国产精品台湾中文娱乐网| 91国产高清在线| 69久久夜色精品国产69| 国产精品视频精品视频| 亚洲精品电影网在线观看| 一区二区三区日韩在线| 精品丝袜一区二区三区| 一区二区三区黄色| 午夜精品在线视频| 国产不卡av在线免费观看| 日韩av在线直播| 国产精品www网站| 久久国产精品首页| 欧美人与物videos| 日本精品视频在线播放| 2020久久国产精品| 亚洲一区二区三区在线免费观看| 久久精品国产免费观看| 91亚洲va在线va天堂va国| 日韩中文在线视频| 久久亚洲精品中文字幕冲田杏梨| 久久精品国产成人| 成人欧美一区二区三区在线湿哒哒| 欧美黑人一区二区三区| www.亚洲一区| 亚洲图中文字幕| 欧美乱人伦中文字幕在线| 97视频在线观看免费高清完整版在线观看| 97成人精品视频在线观看| 日韩美女视频在线观看| 国产精品嫩草视频| 在线电影中文日韩| 亚洲激情视频在线观看| 国产精品视频在线播放| 成人激情电影一区二区| 国产精品第一第二| 久久琪琪电影院| 亚洲黄一区二区| 全色精品综合影院| 亚洲成人久久网| 国产日韩在线亚洲字幕中文| 日韩av手机在线看| 欧美激情久久久| 日韩欧美a级成人黄色| 亲爱的老师9免费观看全集电视剧| 国产精品69精品一区二区三区| 精品久久久视频| 欧美高清激情视频| 国产成人亚洲精品| 欧美视频二区36p| 久久夜色精品亚洲噜噜国产mv| 疯狂蹂躏欧美一区二区精品| 亚洲人成77777在线观看网| 国产精品久久久久久av| 国产欧美中文字幕| 欧美成人四级hd版| 欧美网站在线观看| 国产偷亚洲偷欧美偷精品| 97精品国产97久久久久久春色| 日韩女优在线播放| 97**国产露脸精品国产| 日韩精品免费一线在线观看| 亚洲欧美成人在线| 久久精品电影一区二区| 九九精品视频在线观看| 国产精品成人播放| 91久久在线观看| 欧美大全免费观看电视剧大泉洋| 日本精品久久中文字幕佐佐木| 538国产精品一区二区在线| 久久久久久久久电影| 久久久久久成人| 亚洲欧美日韩视频一区| 成人欧美一区二区三区黑人| 久久久久这里只有精品| 精品日韩中文字幕| 国产精品69久久久久| 久久久久久av| 久久偷看各类女兵18女厕嘘嘘| 国模视频一区二区三区| 国内外成人免费激情在线视频网站| 国产精品都在这里| 国产伦精品免费视频| 国产精品av免费在线观看| 欧美一级黑人aaaaaaa做受| 亚洲男人天天操| 亚洲天堂av女优| 亚洲国产精品系列| 欧美激情视频三区| 国产精品久久久久久久久久免费| 欧美国产精品人人做人人爱| 欧美精品videos另类日本| 国产欧美精品一区二区三区-老狼| 亚洲精品美女久久久| 亚洲日本成人女熟在线观看| 亚洲国产精品免费| 日韩欧美精品中文字幕| 欧美成人精品在线观看| 欧美影院在线播放| 亚洲精品福利资源站| 国产精品久久久久久久app| 日日骚久久av| 2019中文字幕在线观看| 亚洲国产中文字幕久久网| 国产精品久久久久av免费| 欧美巨猛xxxx猛交黑人97人| 久久久欧美一区二区| 欧美午夜影院在线视频| 亚洲精品一二区| 欧美电影免费观看电视剧大全| 全亚洲最色的网站在线观看| 成人免费xxxxx在线观看| 欧美性猛交xxxx黑人| 国产最新精品视频| 精品国产区一区二区三区在线观看| 国产一区二区三区毛片| 91手机视频在线观看| 日韩高清av一区二区三区| 精品视频久久久| 久久久亚洲欧洲日产国码aⅴ| 中文字幕在线亚洲| 成人免费网站在线看| 国产成人精品久久二区二区| 成人444kkkk在线观看| 久久精品福利视频| 97视频在线播放| 久久九九全国免费精品观看| 色视频www在线播放国产成人| 亚洲精品国精品久久99热一| 成人免费直播live| 国产成人在线一区二区| 国产欧美一区二区三区视频| 亚洲综合社区网| 国产精品中文在线| 久久91超碰青草是什么| 欧美色图在线视频| 国产精品扒开腿做爽爽爽男男| 欧美激情一级二级| 日韩av在线最新| 91在线免费看网站| 欧美亚洲视频一区二区| 日韩欧美国产一区二区| 欧美激情久久久| 国产婷婷97碰碰久久人人蜜臀| 成人精品aaaa网站| 不卡av在线网站| 国产一区二区三区在线视频| 国产亚洲美女久久|