Bonjour à tous,
J'essaye de créer une procédure stockée qui retourne deux valeurs :
Puis dans mon Vb j'exploite le résultat comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 ALTER PROCEDURE [dbo].[PS_PC_Retourne_Status_SerialPC] -- Add the parameters for the stored procedure here @SecId as nchar(10), @RetournStatus as int output, @RetournSerial as varchar(50) output AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here SELECT @RetournStatus = Status , @RetournSerial = Serial FROM PC Where SecID = @Secid If @@Rowcount = 1 Select @RetournStatus, @RetournSerial END RETURN
Cette fonction je souhaiterai qu'elle me retourne a son tour les deux paramètres issus de la requête .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 Private Function RequeteRetourneStatusSerial() 'Execution de la requete paramétrée maCmd = maCnx.CreateCommand maCmd.CommandType = CommandType.StoredProcedure maCmd.CommandText = "PS_PC_Retourne_Status_SerialPC" Try 'Creation et déclaration des parmétres maCmd.Parameters.Add(New SqlParameter("@SecID", SqlDbType.NVarChar, 10)) maCmd.Parameters("@SecID").Value = Me.TB_Attrib_SecID.Text 'Parametres de sortie Dim paramStatus, paramSerial As SqlParameter paramStatus = maCmd.Parameters.Add("@Status", SqlDbType.Int) paramStatus.Direction = ParameterDirection.Output paramSerial = maCmd.Parameters.Add("@Serail", SqlDbType.VarChar, 50) paramSerial.Direction = ParameterDirection.Output Catch ex As Exception MsgBox("Erreur retournée : " & ex.ToString) End Try Try 'Execution de la requête maCmd.ExecuteNonQuery() Status = CInt(maCmd.Parameters("@Status").Value.ToString()) Serial = CStr(maCmd.Parameters("@Serial").Value()) Catch ex As SqlException MsgBox("Erreur retournée : " & ex.ToString) End Try 'Retourne le numéro du status et le numéro de série 'voir return tableau si c'est possible End Function
Maintenant l'endroit ou j'essaye d'appeler tout ce petit monde :
C'était un essai et je suis decu depuis plus de 4 heures et je ne trouve pas comment faire , si vos lumières peuvent m'éclairer la route obscure....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 AncienStatus = (RequeteRetourneStatusSerial()) Serial = (RequeteRetourneStatusSerial()) Status = 2 Motif = "Affectation à : " & TB_LogEMEA.Text RequeteAjoutPcHistorique(Status, Motif, AncienStatus)
Pour résumer :
Ma procedure stockée me retourne deux valeurs
Ma fonction me retourne ces dexu valeurs
J'exploite ces dexu valeurs .
J'ai peut être pas la bonne procédure de faire ou ....
Merci a tous .
Partager