JScript Sample: jscript/ado/dbinfo/dbinfo.asp
   ASP Script
   Comments or Client-side Script
   HTML and Text

<%@ Language=JavaScript %>
<HTML>
<HEAD>
<%
   
// Convert int type to String type
   function TypeStr(fdType){
      switch (fdType){
         case 0:
            typeStr = "adEmpty";
            break;
         case 16:
            typeStr = "adTinyInt";
            break;
         case 2:
            typeStr = "adSmallInt";
            break;
         case 3:
            typeStr = "adInteger";
            break;
         case 20:
            typeStr = "adBigInt";
            break;
         case 17:
            typeStr = "adUnsignedTinyInt";
            break;
         case 18:
            typeStr = "adUnsignedSmallInt";
            break;
         case 19:
            typeStr = "adUnsignedInt";
            break;
         case 21:
            typeStr = "adUnsignedBigInt";
            break;
         case 4:
            typeStr = "adSingle";
            break;
         case 5:
            typeStr = "adDouble";
            break;
         case 6:
            typeStr = "adCurrency";
            break;
         case 14:
            typeStr = "adDecimal";
            break;
         case 131:
            typeStr = "adNumeric";
            break;
         case 11:
            typeStr = "adBoolean";
            break;
         case 10:
            typeStr = "adError";
            break;
         case 132:
            typeStr = "adUserDefined";
            break;
         case 12:
            typeStr = "adVariant";
            break;
         case 9:
            typeStr = "adIDispatch";
            break;
         case 13:
            typeStr = "adIUnknown";
            break;
         case 72:
            typeStr = "adGUID";
            break;
         case 7:
            typeStr = "adDate";
            break;
         case 133:
            typeStr = "adDBDate";
            break;
         case 134:
            typeStr = "adDBTime";
            break;
         case 135:
            typeStr = "adDBTimeStamp";
            break;
         case 8 :
            typeStr = "adBSTR";
            break;
         case 129:
            typeStr = "adChar";
            break;
         case 200:
            typeStr = "adVarChar";
            break;
         case 201:
            typeStr = "adLongVarChar";
            break;
         case 130:
            typeStr = "adWChar";
            break;
         case 202:
            typeStr = "adVarWChar";
            break;
         case 203:
            typeStr = "adLongVarWCha";
            break;
         case 128:
            typeStr = "adBinary";
            break;
         case 204:
            typeStr = "adVarBinary";
            break;
         case 205:
            typeStr = "adLongVarBinary";
            break;
         default:
            typeStr = "adUndefined";
            break;
      }
      return typeStr;
   }
%>

<SCRIPT language=JavaScript>
function Listtable_onChange() {
   list = document.form1.Listtable;
   if (list.selectedIndex > -1 && list.selectedIndex < list.length){
      document.form1.action = "dbinfo.asp?dbms=<%=dbms%>&tbName=" + list.options[list.selectedIndex].text;
      document.form1.submit();
   }
}
</SCRIPT>

</HEAD>
<BODY bgcolor=silver>
<%
   if (Request.Form("drvtxt").Count > 0) {
      drv = parseInt( Request.Form("drvtxt") );
      url = Request.Form("urltxt");
      uid = Request.Form("uidtxt");
      pwd = Request.Form("pwdtxt");

      var DrvArry = new Array(14); //(17)
      DrvArry[0] = "--Please select a driver--";
      DrvArry[1] = "sun.jdbc.odbc.JdbcOdbcDriver";
      DrvArry[2] = "sun.jdbc.odbc.JdbcOdbcDriver";
      DrvArry[3] = "oracle.jdbc.driver.OracleDriver";
      DrvArry[4] = "com.informix.jdbc.IfxDriver";
      DrvArry[5] = "twz1.jdbc.mysql.jdbcMysqlDriver";
      DrvArry[6] = "org.gjt.mm.mysql.Driver";
      DrvArry[7] = "com.sybase.jdbc2.jdbc.SybDriver";
      DrvArry[8] = "COM.cloudscape.core.JDBCDriver";
      DrvArry[9] = "intersolv.jdbc.sequelink.SequeLinkDriver";
      DrvArry[10] = "intersolv.jdbc.sequelink.SequeLinkDriver";
      DrvArry[11] = "intersolv.jdbc.sequelink.SequeLinkDriver";
      DrvArry[12] = "intersolv.jdbc.sequelink.SequeLinkDriver";
      DrvArry[13] = "intersolv.jdbc.sequelink.SequeLinkDriver";
      DrvArry[14] = "openlink.jdbc2.Driver";

      switch ( drv ) {
         case 1:
         case 13:
            dbms = "Access";
            break;
         case 2:
         case 12:
         case 14:
            dbms = "SQLServer"
            break;
         case 3:
         case 9:
            dbms = "Oracle"
            break;
         case 4:
         case 10:
            dbms = "Informix"
            break;
         case 5:
         case 6:
            dbms = "MySQL"
            break;
         case 7:
         case 11:
            dbms = "Sybase"
            break
         case 8:
            dbms = "Cloudscape"
            break;
         default:
            dbms = ""
      }

      strCnn = "Driver=" + DrvArry[drv] + ";URL=" + url + ";UID=" + uid + ";PWD=" + pwd + ";";
      conn = Server.CreateObject("ADODB.CONNECTION");
      conn.Open (strCnn);

      Session("tbsRS") = conn.OpenSchema(20);
      selectIndex = -1;
   } else {
      dbms = Request.QueryString("dbms");
      selectIndex = parseInt( Request.Form("Listtable") );
      tbName = Request.QueryString("tbName");
   }

   RS = Session("tbsRS");
   RS.MoveFirst();
%>

<font size="4" face="Arial, Helvetica">
<b>Database Base Information Sample</b></font><br>

<hr size="1" color="#000000">

<form name=form1 method=post>
<TABLE><TR>
<TD><B>Tables:</B><BR>
<SELECT name=Listtable width=200 style="width:200" size=18 onChange="Listtable_onChange()" >
<%
   i = 0;
   while ( !RS.Eof ) {
      if ( RS("TABLE_TYPE").Value == "TABLE" ) {
         if (dbms == "Oracle") {
            if (RS(1).Value == "HALCYON") {
               if (selectIndex == i) {
                  tbName = RS("TABLE_NAME").Value;
%>

<OPTION value="<%=i%>" selected><%=RS("TABLE_NAME").Value%>
<%
               } else {
%>

<OPTION value="<%=i%>"><%=RS("TABLE_NAME").Value%>
<%
               }
               i = i + 1;
            }
         } else {
            if (selectIndex == i) {
%>

<OPTION value="<%=i%>" selected><%=RS("TABLE_NAME").Value%>
<%
            } else {
%>

<OPTION value="<%=i%>"><%=RS("TABLE_NAME").Value%>
<%
            }
            i = i + 1;
         }
      }
      RS.MoveNext();
   }
%>

</SELECT>
</TD>

<TD valign=top>
<TABLE><TR>
<%
   if ( selectIndex > -1 ) {
      REC = RS.ActiveConnection.Execute("select * from " + tbName);
      fdCnt = REC.Fields.Count;
%>

<TD><B>Field Name:</B><SELECT name=listName size=11 WIDTH=160 style="WIDTH: 160">
<%
      for (i = 0; i < fdCnt; i++) {
%>

<OPTION>
<%=REC.Fields(i).Name%></OPTION>
<%
      }
%>

</SELECT></TD>
<TD><B>Field Type:</B><SELECT name=listType size=11 WIDTH=160 style="WIDTH: 160">
<%
      for (i = 0; i < fdCnt; i++) {
%>

<OPTION>
<%=TypeStr( REC.Fields(i).Type )%></OPTION>
<%
      }
%>

</SELECT></TD>
<TD><B>Field Size:</B><SELECT name=listSize size=11 WIDTH=160 style="WIDTH: 160">
<%
      for (i = 0; i < fdCnt; i++) {
%>

<OPTION>
<%=REC.Fields(i).DefinedSize%></OPTION>
<%
      }
%>

</SELECT></TD>
<%
      REC.Close();
   } else {
%>

<TD><B>Field Name:</B><BR><SELECT name=listName size=11 WIDTH=160 style="WIDTH: 160">
</SELECT></TD>
<TD><B>Field Type:</B><BR><SELECT name=listType size=11 WIDTH=160 style="WIDTH: 160">
</SELECT></TD>
<TD><B>Field Size:</B><BR><SELECT name=listSize size=11 WIDTH=160 style="WIDTH: 160">
</SELECT></TD>
<%
   }
%>

</TR></TABLE>

<TABLE><TR>
<TD><B>Indexes:<B><BR>
<SELECT name=listIndex size=5 width=320 style="WIDTH: 320">
<%
   if ( selectIndex > -1 ) {
      arr4 = new Array(null, null, tbName, null);
      REC = RS.ActiveConnection.OpenSchema(20, arr4);
      schem = REC.Fields.Item(0).value;
      cotag = REC.Fields.Item(1).value;
      REC.Close();

      temp = "";
      if ( selectIndex > -1 ) {
         arr5 = new Array(schem, cotag, null, null, tbName);
         REC = RS.ActiveConnection.OpenSchema(12, arr5);
         while ( !REC.Eof ) {
            idxName = REC.Fields("INDEX_NAME");
            if ( idxName.Value != null && temp != idxName.Value ) {
%>

<OPTION><%=idxName.Value%>
<%
               temp = idxName.Value;
            }
            REC.MoveNext();
         }
         REC.Close();
      }
   }
%>

</SELECT></TD>
</TR></TABLE>
</TD>
</TR></TABLE>
</form>
<hr size="1" color="#000000">
<EM>This is a <B><%=dbms%></B> database.</EM>
<font size="+1">
<center><a href="default.asp">
Return Home</a></center></font>
</BODY>
</HTML>


Copyright © 1998-2002, Halcyon Software Inc. All rights reserved.