Observem como esse código simples pode ajudar na manutenção do seu site. Trata-se de uma página que executa comandos SQL, inclusive SELECT, trazendo a resposta numa tabela. Caso haja um erro na instrução SQL, achei por bem não tratá-lo e deixar por conta do IIS trazer-lhe a mensagem de erro proveniente do BD. Obviamente, só administradores AVANÇADOS devem ter acesso a essa página. Chega de papo e vamos ao que interessa:
'***************
' SQL.asp
'***************
<%
response.buffer = true
response.expires = 10
if request.form("acao") = "ExecSQL" then
Dim Conn
set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open 'Ponha aqui sua string de Conexão
set qrSQL = Conn.Execute(request.form("SQL"))
end if
%>
<html>
<head>
<title>Execução de Comandos SQL</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF">
<p><b>Execução de Comandos SQL</b></p>
<form name="formSQL" method="post" action="SQL.asp">
<input type="hidden" name="acao" value="ExecSQL">
<table width="80%" border="0" cellspacing="0" cellpadding="0">
<tr align="center">
<td height="166">
<textarea name="SQL" rows="8" cols="100">
</textarea>
</td>
</tr>
<tr>
<td align="center" width="50%"><a href="Javascript: document.forms['formSQL'].submit()">Executar</a></td>
</tr>
</table>
<%if UCase(Mid(request.form("SQL"),1,6)) = "SELECT" then%>
<table width="100%" border="1" cellspacing="0" cellpadding="0" bordercolorlight="#666666" bordercolordark="#666666">
<tr bgcolor="#FFFFCC">
<%for i = 0 to qrSQL.Fields.Count - 1%>
<td><%=qrSQL.Fields(i).name%> </td>
<%next%>
</tr>
<%while not qrSQL.EOF%>
<tr>
<%for i = 0 to qrSQL.Fields.Count - 1%>
<td><%=qrSQL.Fields(i)%> </td>
<%next%>
</tr>
<%qrSQL.MoveNext%>
<%wend%>
</table>
<%end if%>
<%
set qrSQL = nothing
set Conn = nothing
%>
</body>
</html>
1 comentários:
[Enviado originalmente em 28/jul/2002 06:58:49]:
A minha página estava travando o servidor.
set qrSQL = Conn.Execute(request.form("SQL"))
Isso faz com que ao rodar um Upd/Ins/Del o recordset fica esperando o retorno e trava o servidor.
Postar um comentário