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

<%@ Language=VBScript %>
<HTML>
<HEAD>
<%
   
' Convert int type to String type
   function TypeStr(fdType)
      select case fdType
         case 0
            TypeStr = "adEmpty"
         case 16
            TypeStr = "adTinyInt"
         case 2
            TypeStr = "adSmallInt"
         case 3
            TypeStr = "adInteger"
         case 20
            TypeStr = "adBigInt"
         case 17
            TypeStr = "adUnsignedTinyInt"
         case 18
            TypeStr = "adUnsignedSmallInt"
         case 19
            TypeStr = "adUnsignedInt"
         case 21
            TypeStr = "adUnsignedBigInt"
         case 4
            TypeStr = "adSingle"
         case 5
            TypeStr = "adDouble"
         case 6
            TypeStr = "adCurrency"
         case 14
            TypeStr = "adDecimal"
         case 131
            TypeStr = "adNumeric"
         case 11
            TypeStr = "adBoolean"
         case 10
            TypeStr = "adError"
         case 132
            TypeStr = "adUserDefined"
         case 12
            TypeStr = "adVariant"
         case 9
            TypeStr = "adIDispatch"
         case 13
            TypeStr = "adIUnknown"
         case 72
            TypeStr = "adGUID"
         case 7
            TypeStr = "adDate"
         case 133
            TypeStr = "adDBDate"
         case 134
            TypeStr = "adDBTime"
         case 135
            TypeStr = "adDBTimeStamp"
         case 8
            TypeStr = "adBSTR"
         case 129
            TypeStr = "adChar"
         case 200
            TypeStr = "adVarChar"
         case 201
            TypeStr = "adLongVarChar"
         case 130
            TypeStr = "adWChar"
         case 202
            TypeStr = "adVarWChar"
         case 203
            TypeStr = "adLongVarWCha"
         case 128
            TypeStr = "adBinary"
         case 204
            TypeStr = "adVarBinary"
         case 205
            TypeStr = "adLongVarBinary"
      end select
end function
%>
<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 then
      drv = Request.Form("drvtxt")
      url = Request.Form("urltxt")
      uid = Request.Form("uidtxt")
      pwd = Request.Form("pwdtxt")

      dim DrvArry(15)
      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) = "postgresql.Driver"
      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) = "intersolv.jdbc.sequelink.SequeLinkDriver"
      DrvArry(15) = "openlink.jdbc2.Driver"

      select case drv
         case 1, 14:
            dbms = "Access"
         case 2, 13, 15:
            dbms = "SQLServer"
         case 3, 10:
            dbms = "Oracle"
         case 4, 11:
            dbms = "Informix"
         case 5, 6:
            dbms = "MySQL"
         case 7, 12:
            dbms = "Sybase"
         case 8:
            dbms = "Cloudscape"
         case 9:
            dbms = "Postgres"
         case else
            dbms = ""
      end select

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

      set Session("tbsRS") = conn.openschema(20)
      selectIndex = -1
   else
      dbms = Request.QueryString("dbms")
      selectIndex = CInt( Request.Form("Listtable") )
      tbName = Request.QueryString("tbName")
   end if

   set 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 not RS.eof
      if trim(RS("TABLE_TYPE").Value) = "TABLE" then
         if dbms = "Oracle" then
            if RS(1).Value = "HALCYON" then
               if selectIndex = i then
                  tbName = RS("TABLE_NAME").Value
%>

<OPTION value="<%=i%>" selected><%=RS("TABLE_NAME").Value%>
<%
               else
%>
<OPTION value="<%=i%>"><%=RS("TABLE_NAME").Value%>
<%
               end if
               i = i + 1
            end if
         else
            if selectIndex = i then
%>

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

<OPTION value="<%=i%>"><%=RS("TABLE_NAME").Value%>
<%
            end if
            i = i + 1
         end if
      end if
      RS.MoveNext
   wend
%>

</SELECT>
</TD>

<TD valign=top>
<TABLE><TR>
<%
   if selectIndex > -1 then
      set 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 to fdCnt - 1
%>

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

</SELECT></TD>
<TD><B>Field Type:</B><SELECT name=listType size=11 WIDTH=160 style="WIDTH: 160">
<%
      for i = 0 to fdCnt - 1
%>

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

</SELECT></TD>
<TD><B>Field Size:</B><SELECT name=listSize size=11 WIDTH=160 style="WIDTH: 160">
<%
      for i = 0 to fdCnt - 1
%>

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

</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>
<%
   end if
%>

</TR></TABLE>

<TABLE><TR>
<TD><B>Indexes:<B><BR>
<SELECT name=listIndex size=5 width=320 style="WIDTH: 320">
<%
   arr4 = Array(null, null, tbName, null)
   set REC = RS.ActiveConnection.OpenSchema(20, arr4)
   schem = REC.fields.item(0)
   cotag = REC.fields.item(1)
   REC.close

   temp = ""
   if selectIndex > -1 then
      arr5 = Array(schem, cotag, null, null, tbName)
      set REC = RS.ActiveConnection.OpenSchema(12, arr5)
      while not REC.Eof
         set idxName = REC.Fields("INDEX_NAME")
         if not isEmpty(idxName.Value) and temp <> idxName.Value then
%>

<OPTION><%=idxName.Value%>
<%
            temp = idxName.Value
         end if
         REC.MoveNext
      wend
      REC.close
   end if
%>

</SELECT></TD>
</TR></TABLE>
</TD>
</TR></TABLE>
</form>

<hr size="1" color="#000000">
<EM>This is <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.