salve a tutti
sto provando le stored procedure, vorrei restituire un valore ma penso che sto sbagliando qualcosa
dato il seguente codice vb.net
e la seguente stored procedurecodice:Dim objconn As SqlConnection Dim istruzionesql As String Dim objcomm As New SqlCommand Dim objparam As SqlParameter Dim objdata As SqlDataReader Dim stringaconn = "Data Source=.\SQLEXPRESS;initial Catalog=prova;integrated Security=true;" objconn = New SqlConnection(stringaconn) objconn.Open() istruzionesql = "sp_prova2" objcomm.CommandType = CommandType.StoredProcedure objcomm.CommandText = istruzionesql objcomm.Connection = objconn Dim P As SqlParameter P = objcomm.Parameters.Add(New SqlParameter("@PARAM1", SqlDbType.Int, 6, ParameterDirection.Output)) P.Value = 22 P = objcomm.Parameters.Add(New SqlParameter("@PARAM2", SqlDbType.Int, 6, ParameterDirection.Output)) P.Value = 11 Try objdata = objcomm.ExecuteReader() MsgBox(objcomm.Parameters("@PARAM1").Value) MsgBox(objcomm.Parameters("@PARAM2").Value) objdata.Close() Catch ex As Exception MsgBox(ex.ToString) End Try objconn.Close()
come potete leggere, vorrei restituire 2 valori, esattamente valorizzandocodice:ALTER PROCEDURE [dbo].[sp_prova2] ( @Param1 int OUTPUT, @Param2 int OUTPUT ) AS select * from PRova select @Param1=1 select @Param2=2 SET NOCOUNT ON RETURN
param1 e param2 con dei valori diversi da quello che passo dalla form
ma puntualmente mi viene restituiti i valori 11 e 22
facendo il debug, dentro sql server, non appena il debugger arriva a valorizzare questi
parametri, li setta dando i valori 1 e 2 (quindi giusti), ma appena ritorno con il
debut nella windows form, ecco che il messagebox mi restituisce 11 e 22!!!
cosa sbaglio?
grazie

Rispondi quotando