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.