Stored Procedure: Parametro di output simile ad un datareader/dataset

giovedì 17 dicembre 2009 - 11.21

fabiof Profilo | Newbie

Ciao,

Ho l'esigenza di eseguire una stored procedure che dopo l'elaborazione restituisca come parametro di output delle righe che poi da VB.NET io possa rileggere tramite un datareader.
C'è la possibilità di specificare all'interno della stored procedure un parametro di output simile ad un datareader che io possa restituire poi all'esterno della sp??? Potrebbe essere un cursore???

grazie anticipatamente

ma_di Profilo | Junior Member

Ciao.
Che DB usi?
Se lavori con SQL la stored ti restituisce già un dataset; tu devi solo dichiarare in vb.net

Dim Datardr_msg As SqlClient.SqlDataReader

e poi

Datardr_msg = myCommand.ExecuteReader()

per far eseguire la stored.

Ciao

fabiof Profilo | Newbie

Ciao,

si, utilizzo Sql e per la chiamata da vb.net ho le idee abbastanza chiare, è da dentro la stored procedure che non so come devo definire eventualmente il dataset e come restituirlo.

Es. il dataset lo dichiaro come parametro di output??
@pippo dataset OUTPUT

e alla fine dell'elaborazione lo restituisco come farei con una variabile???
SELECT @pippo


ma_di Profilo | Junior Member

Bisognerebbe sapere qualcosa della stored; mi sembra di capire che fai delle elaborazioni e poi hai delle righe da visualizzare.
Queste righe da dove arrivano? Come le ottieni?

se usi exec (@QRY), dove @QRY è la stringa della query, il ritorno è già un dataset.

Ciao.

lbenaglia Profilo | Guru

>Es. il dataset lo dichiaro come parametro di output??
>@pippo dataset OUTPUT
>
>e alla fine dell'elaborazione lo restituisco come farei con una
>variabile???
>SELECT @pippo
Non puoi (forse sarà possibile fare qualcosa del genere con la prossima major release di SQL Server).
Da SQL 2008 puoi fare il contrario, ovvero passare come parametro di input un array di valori utilizzando i Table-Valued Parameters:
http://msdn.microsoft.com/en-us/library/bb510489.aspx

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5