Soyez le premier à donner votre avis sur cette source.
Snippet vu 28 270 fois - Téléchargée 70 fois
<% '*********************************************************** ' Cette page permet de visualiser le contenu d'une table ' sans en connaitre les champs. ' Seule obligation : indiquer les informations de connexion ' et la requete SQL '*********************************************************** ' auteur : Renaud COLAS - r.colas@bigfoot.com ' date : 23/08/2000 ' inputs : ceux du FORM ' output : tableau HTML du recordset de la requete '*********************************************************** option explicit Response.buffer = true ' Constantes de Bases de Données Const adLockReadOnly = 1 Const adLockOptimistic = 3 Const adOpenDynamic = 2 Const adOpenStatic = 3 Const adOpenKeyset = 1 ' Constante de formattage const font = "face=""arial"" color=""#000000"" size=""2""" ' définition des variables et récupération des paramètres du FORM dim conn, rs, connstring, i, errMsg dim SQL, BASE, USER, PWD, SVR_CHEM, CONN_TYPE, ACTION, CHEM_RELATIF SQL = Ucase(trim(request("SQL"))) BASE = Ucase(trim(request("BASE"))) USER = trim(request("USER")) PWD = trim(request("PWD")) SVR_CHEM = Ucase(trim(request("SVR_CHEM"))) CONN_TYPE = Ucase(trim(request("CONN_TYPE"))) ACTION = Ucase(trim(request("ACTION"))) CHEM_RELATIF = Ucase(trim(request("CHEM_RELATIF"))) errMsg = "" ' Vérification qu'un chemin absolu n'est pas passé comme chemin relatif if CHEM_RELATIF="OUI" and inStr(SVR_CHEM,":")>0 then errMsg = "<font color=red><b>ERREUR :</b></font> Un chemin relatif n'indique pas de lettre de lecteur ! (exemple : /rep_bases/base.mdb)<br>Vous avez entré :<b>" & SVR_CHEM & "</b>" end if if (inStr(SVR_CHEM,":")>0 OR inStr(SVR_CHEM,"/")>0) and CONN_TYPE<>"ACCESS" then errMsg = "<font color=red><b>ERREUR :</b></font> Votre nom de serveur parait être un chemin...<br>SQL a besoin d'un nom de serveur (exemple : MONSERVEURWEB)<br>Vous avez entré :<b>" & SVR_CHEM & "</b>" end if ' Création de la chaine de connexion if ACTION="ENVOYER" AND errMsg="" then select case CONN_TYPE case "SQL" 'connexion ADO vers SQL ------------------- Set conn = server.CreateObject("ADODB.Connection") connstring = "driver={SQL Server};" _ & "server=" & SVR_CHEM & ";" _ & "uid=" & USER & ";" _ & "pwd=" & PWD & ";" _ & "database=" & BASE & "" conn.open connstring 'FIN ADO vers SQL ------------------- case "ACCESS" 'connexion ADO vers Access ---------------- Set conn = Server.CreateObject("ADODB.Connection") connstring="DRIVER={Microsoft Access Driver (*.mdb)};UserCommitSync=Yes;Threads=3;SafeTransactions=0;ReadOnly=0;PageTimeout=1;MaxScanRows=8;MaxBufferSize=2048;FIL=MS Access;DriverId=281;" if CHEM_RELATIF="OUI" then connstring = connstring & "DBQ=" & server.mappath(SVR_CHEM) else connstring = connstring & "DBQ=" & SVR_CHEM end if conn.Open connstring,USER,PWD 'FIN ADO vers Access ---------------- case "ORACLE" 'connexion ADO vers Oracle ---------------- Set conn = Server.CreateObject("ADODB.Connection") connstring = "driver={Microsoft ODBC for Oracle};" _ & "server=" & SVR_CHEM & ";" _ & "uid=" & USER & ";" _ & "pwd=" & PWD & ";" _ & "database=" & BASE & "" conn.open connstring 'FIN ADO vers Oracle ---------------- case else SQL = "" ACTION = "" errMsg = "Désolé, type de connexion non géré pour l'instant..." end SELECT end if ' fonction qui affiche le contenu de la table function affTable() set rs = server.createObject("ADODB.Recordset") rs.open SQL, conn,adLockOptimistic, adOpenDynamic ' affichage du nombre d'enregistrements response.write "<b>" & rs.recordCount & " enregistrements</b>" response.write "<table border=1 bordercolor=#AAAAC9 cellpadding=2 cellspacing=0 style=""font-size:10pt""><tr>" ' affichage des nom de champs for i=0 to rs.Fields.count-1 response.write "<th>" & rs.fields(i).name &"</th>" next response.write "</tr>" ' affichage des valeurs do while not rs.eof response.write "<tr>" for i=0 to rs.Fields.count-1 response.write "<td>" & rs.fields(i).value & "</td>" next rs.movenext response.write "</tr>" loop response.write "</TABLE>" rs.close set rs = nothing conn.close set conn = nothing end function %> <html> <head> <title>Visualisation automatiques de tables</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <STYLE> TD {font-family: arial; font-size: 10pt} </STYLE> </head> <body bgcolor="#FFFFFF" topmargin="10" leftmargin="10" marginheight="10" marginwidth="10" link="#0000A0" vlink="#0000A0" alink="#FF0000" text="#000000" > <font <%=font%>> <!-- Formulaire de paramètrage de la connexion // --> <form method=POST action=""> <TABLE WIDTH=350 BORDER=1 CELLPADDING=2 CELLSPACING=0 BGCOLOR="#D0D0D0" BORDERCOLOR="#808080"> <TR nowrap> <TH colspan=3><b>PARAMETRES DE CONNEXION</b></tH> <tr> <td nowrap>Serveur ou chemin vers la base (Access) :</td> <td><INPUT TYPE="text" value="<%=SVR_CHEM%>" NAME="SVR_CHEM" SIZE=20 ></td> <!-- colonne 3 // --> <td rowspan=8 valign=top><b>Chaine de Connexion :</b><PRE><%=replace(connstring,";",";<br>")%></td> <!-- fin colonne 3 // --> </TR> <tr> <td nowrap>Dans le cas d'une bases Access :</td> <td> <INPUT TYPE="radio" NAME="CHEM_RELATIF" VALUE="OUI"<%if CHEM_RELATIF="OUI" then%>checked<%end if%>> Chemin Relatif ("/rep_bases/base.mdb") <br> <INPUT TYPE="radio" NAME="CHEM_RELATIF" VALUE="NON"<%if CHEM_RELATIF="NON" then%>checked<%end if%>> Chemin absolu ("c:webasesase.mdb") </td> </TR> <tr> <td nowrap>Base :</td> <td><INPUT TYPE="text" value="<%=BASE%>" NAME="BASE" SIZE=20 ></td> </TR> <tr> <td nowrap>Utilisateur :</td> <td><INPUT TYPE="text" value="<%=USER%>" NAME="USER" SIZE=10 ></td> </TR> <tr> <td nowrap>PassWord :</td> <td><INPUT TYPE="text" value="<%=PWD%>" NAME="PWD" SIZE=10 ></td> </TR> <tr> <td nowrap>Requete :</td> <td><input type="text" value="<%=SQL%>" name="SQL"SIZE=40 ></td> </TR> <tr> <td nowrap>Type de connexion :</td> <td> <SELECT NAME="CONN_TYPE"> <OPTION VALUE="SQL" <%if CONN_TYPE="SQL" then%>selected<%end if%>> SQL <OPTION VALUE="ACCESS" <%if CONN_TYPE="ACCESS" then%>selected<%end if%>> ACCESS <OPTION VALUE="ORACLE" <%if CONN_TYPE="ORACLE" then%>selected<%end if%>> ORACLE </SELECT> </td> </TR> <TR> <TD colspan=2 align=center><input type="submit" name="ACTION" value="ENVOYER"></TD> </TR> </TABLE> </form> <!-- FIN Formulaire de paramètrage de la connexion // --> <% ' si l'utilisateur a cliqué sur ENVOYER if ACTION="ENVOYER" then ' si SQL n'est pas vide et qu'il n'y a pas eu d'erreur if SQL<>"" and errMsg="" then call affTable end if end if %> <%=errMsg%> <br><br> <center> <HR SIZE=1 NOSHADE COLOR="#000000"> <font color="#909090"> <small>©<%=Year(Date)%> - Renaud COLAS - Tous droits réservés - <a href="mailto:r.colas@2si-systemes.fr">Contact</a> </small> </font> <!-- *************************** FIN CONTENU ******************************* // --> </body> </html>
28 sept. 2004 à 23:43
Très pratique et à avoir toujours sur soi.
Merci
9 févr. 2003 à 02:13
ARF !
Stéphan.
1 mars 2002 à 10:08
le code est ouvert, tu peux aussi participer! :-)
Je n'ai plus trop le temps de me mettre dessus pour l'instant... mais ton idée interessera surement tout le monde! :-)
12 nov. 2001 à 15:52
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.