Salve a tutti.

Ho un problema quando eseguo una stored procedure che dovrebbe darmi dei dati con i quali riempio un recordset.

Il codice è questo

codice:
Dim con, rs
	
Set con = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
		
con.Open str_cn

SQL = "lstCliente @Step = 1"

rs.Open SQL, con

if not rs.eof then

........vario codice......

end if
La stored procedure è la seguente:

codice:
CREATE    PROCEDURE lstCliente (@Step int = 1)
AS
BEGIN

 IF @Step=1
 BEGIN
  DECLARE @Numero bigint

  SELECT @Numero = ID_Cliente FROM Clienti WHERE Stato = '00' ORDER BY NEWID() 

  UPDATE Clienti SET Stato = '100' WHERE ID_Cliente = @Numero

  SELECT Clienti.Nome, Clienti.Cognome, Clienti.Telefono1, Clienti.Telefono_Alt, Clienti.Indirizzo, Clienti.CAP, Clienti.Comune, Clienti.Provincia, Clienti.Prodotto, Chiamate.a_Note
  FROM Clienti LEFT OUTER JOIN Chiamate
  ON Clienti.ID_Cliente = Chiamate.ID_Cliente
  WHERE Clienti.ID_Cliente = @Numero
  order by Chiamate.ID_Chiamata desc
 END
END
GO
Il problema è che una volta popolato il recordset, quando vado ad eseguire il controllo (if not rs.EOF then...) ho l'errore che mi dice che non posso eseguire tale operazione su un recordset chiuso.
La stored procedure, se lanciata direttamente dal Query Analizer, mi restituisce regolarmente il record che dovrebbe.

Qualcuno sa aiutarmi?

Grazie in anticipo a tutti.