74 messaggi dal 23 maggio 2005
Ciao a tutti!
Ho necessità di utilizzare una stored procedure che mi esegua
una query di selezione e mi restituisca il numero dei record individuati dalla query.
Quindi ho:
CREATE PROCEDURE....
.................
SET @query = SELECT..............

EXEC sp_executesql @query

SET @query = 'SELECT @RC = Count(*) FROM Prodotti'

EXEC sp_executesql @query, N'@RC int OUTPUT' , @RC = @RecordCount OUTPUT


RETURN

Il problema è questo: il valore del parametro in uscita @RC è 0.
Perchè????
E' scritta male?

Ho provato a scrivere una stored procedure che mi calcoli solo il
RecordCount e funziona perfettamente!
In pratica se uso due SP invece di una sola ottengo quello che voglio.
Ciao
Valorizzato a zero lato .net o proprio nella sp se provi a fare un print di @rc?

Ciao

Il mio blog
Homepage
74 messaggi dal 23 maggio 2005
Ho inserito nella pagina asp una label per visualizzare
il valore restituto ; ed è =0.
Non posso verificare con la print nella SP perchè non ho il query analyzer

Ciao
74 messaggi dal 23 maggio 2005
La eseguo così:
SqlDataReader result = cmd.ExecuteReader(CommandBehavior.CloseConnection);

Ciao
Usa ExecuteScalar o ExecuteNonQuery, a volte i parametri di ouput non vengono valorizzati finché non si ha svuotato tutto il buffer, e cioè finché non si è sfogliato tutto il SqlDataReader restituito

Ciao

Il mio blog
Homepage
74 messaggi dal 23 maggio 2005
Se uso ExecuteScalar o ExecuteNonQuery il compilatore mi dà errori.
Se scrivo:
SqlDataReader result = cmd.ExecuteNonQuery();
l'errore è:

Cannot implicitly convert type 'int' to 'System.Data.SqlClient.SqlDataReader'

Ciao
Perché ExecuteNonQuery ti dà il numero delle righe coinvolte. Se non ti serve il SqlDataReader perché usare ExecuteReader?
Fai solo
cmd.ExecuteNonQuery();

Ciao

Il mio blog
Homepage

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.