Faire des requêtes sql sur une base par l'intermédiaire d'une page asp

Contenu du snippet

Attention : cette page est un trou de sécurité à elle toute seule et ne doit être laissée sur un serveur que le temps du développement.

Son but est de vous permettre de faire facilement des requêtes sur votre base depuis votre browser pour récupérer les données (voire même la structure) de votre base.

Source / Exemple :


<%@ Language=VBScript %>
<%option explicit %>
<%response.buffer=true%>
<!--
Auteur : Emmanuel BRUNO-GAZIGNAIRE
Email : ___nospam___bmanu@francenet.fr
Web : http://gdf.zalem.net
-->

<!-- #include virtual="/adovbs.inc" -->
<!--
Là il faut trouver le fichier adovbs.inc, il doit être qqpart sur votre machine
Sinon trouve le sur le net
-->

<HTML>
<HEAD>
<title>SQL</title>
</HEAD>
<BODY>
<%
if request("sql")="" then
%>
	<form name="frm" action="<%=Request.ServerVariables("URL")%>" method="get">
	<textarea name="sql" cols="80" rows="10"></textarea>
	<br>
	dsn : <input type="text" name="dsn" value="" size=50>
	user : <input type="text" name="user" value="">
	password : <input type="text" name="password" value="">
	<a href="javascript:void(self.document.frm.submit());">Envoyer</a>
	</form>
<%
else
	dim cn,rs,sql,i, tonDSN, tonLogin, tonPassword

'tonDsn = dsn a utiliser par defaut
'tonlogin=login par defaut
'tonpassword=password par defaut

	set cn = server.CreateObject("adoDb.connection")
	set rs = server.CreateObject("adoDb.recordset")

	if request("dsn") <>"" then
		if request("user")<>"" then
			cn.Open request("dsn") , request("user") , request("password")
		else
			cn.Open request("dsn")
		end if
	else
		cn.Open tonDSN, tonLogin, tonPassword
	end if
	sql=request("sql")

	rs.Open sql, cn
	Response.write "<table border=2 cellspacing=0 cellpadding=4 bgcolor=""#eeeeee"">" & vbcrlf
	Response.write "<tr>" & vbcrlf
	for i = 0 to rs.Fields.Count - 1
		with Response
			.Write "<td><b>" & i & "</b></td>"
		end with
	next
	Response.write "<tr>" & vbcrlf
	for i = 0 to rs.Fields.Count - 1
		with Response
			.Write "<td><b>" & rs.Fields(i).Name & "</b></td>"
		end with
	next
	Response.write "</tr>" & vbcrlf

	do while not rs.eof
		Response.write "<tr>" & vbcrlf
		for i = 0 to rs.Fields.Count - 1
			with Response
				if not isnull(rs.Fields(i).value ) then
					.Write "<td>" & rs.Fields(i).value & "</td>"
				else
					.Write "<td>NULL</td>"
				end if
			end with
		next	
		Response.write "<tr>" & vbcrlf
		rs.movenext
	loop
	rs.Close
	cn.Close
	set rs = nothing
	set cn = nothing
end if
%>
</BODY>
</HTML>

A voir également

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.