Ventana SQL


http://www.asptutor.com

Ventana SQL

Colaboración enviada por Xavier Amaus

 

He estado trabajando directamente en Internet en una site con ASP y Base de Datos en Access 2000. Debido a la continua evolución de la site, he necesitado siempre acceder a la su estructura así cómo lanzar selects para comprobaciones. Para evitarme ir bajando y subiendo el mdb, creé una página ASP que me lanzaba las sentencias contra la base de datos. La página ha funcionado muy bien, y es por ello que os la envío con la intención de que sea publicada en vuestra sección de artículos. No se si será de gran interés, pero a mi me ha ahorrado mucho tiempo y mucho tráfico por FTP! :)

Compilador.asp

<%@LANGUAGE="VBSCRIPT"%>

<%
set con= server.CreateObject("ADODB.Connection")
Con.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("rutaBD\BaseDades.mdb"))
set rs=server.CreateObject("ADODB.Recordset")
%>
<html>
<head>
<title>Compilador SQL</title>
</head>
<body leftmargin="0" topmargin="0">
<center>
<%
dim ssql
dim objecte
if request.QueryString("flag")=1 then
ssql=request.Form("ssql")
response.Write("<b>" & ssql & "</b><br>")
if ssql<>"" then
set rs = con.execute(ssql)
'---->rutina de la select
if lcase(left(ssql,6))="select" then 
if not rs.eof then
response.Write("<table border=1 cellpadding=5 cellspacing=0><tr>")
for each objecte in rs.Fields
response.Write("<td align=center><b>" & objecte.name & "</b>")
next
response.Write("</tr>")
do while not rs.EOF
response.Write("<tr>")
for each objecte in rs.Fields
if not isnull(objecte) then 'si no es null
if trim(objecte) = "" then 'si està en blanc (li trec tots els espais)
response.Write("<td align=center>[<i>" & chr(34) & chr(34) & "</i>]</td>")
else
response.Write("<td align=left>" & objecte & "</td>")
end if 
else
response.Write("<td align=center>[<i>null</i>]</td>")
end if 
next
response.Write("</tr>")
rs.MoveNext
loop 
response.Write("</tr></table>")
else
response.Write("No hi han dades a mostrar<br>") 
end if
end if
'<---------
response.Write("Sentència executada.")
else
response.Write("No hi ha sentencia a executar")
end if
end if 
%>

<form action="compilador.asp?flag=1" method="post" ID="Form1">
<textarea name="ssql" cols="60" rows="5" ID="Textarea1"></textarea>
<br>
<input type="submit" value="Enviar SQL" ID="Submit1" NAME="Submit1">
</form>
</center>
<!-- 
Si us plau, no treguis aquesta línia:
Rutina creada per Xavier Arnaus Gil
29/11/2002 Barcelona
www.ladragonera.com
evo I (10/12/2002)
-->