Bonjour à tous !

Je n'arrive pas à récupérer la valeur de retour d'une procédure stockée (BDD sous SQL Serveur 2008).

Ma table ressemble à ca :

maTable(id, val1, val2 ..). Mon id est une variable auto incrémenté et c'est cette valeur que je voudrais récupérer.

Côté procédure stockée :

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
CREATE PROCEDURE insertEXP(
     @val1 VARCHAR(30), 
     @val2 INT,
     ...)
AS
 
BEGIN
     SET NOCOUNT ON;
 
INSERT maTable (
     val1,
     val2,
     ...
)
 
VALUES (
     @val1,
     @val2,
)
 
RETURN @@IDENTITY 
 
END
GO

Et pour mon code VB.NET :

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
Dim insertEXP As SqlCommand = New SqlCommand("insertEXP")
 
     With insertEXP.Parameters
          .Add(New SqlParameter("@val1", SqlDbType.VarChar))
          .Add(New SqlParameter("@val2", SqlDbType.Int))
          ...
     End With
 
     With insertEXP
          .Parameters("@val1").Value = val1
          .Parameters("@val2").Value = val2
          ...
     End With
 
 
 
If connection.State = ConnectionState.Open Then
     Try
          cmdString.ExecuteNonQuery()
 
     Catch ex As Exception
          MsgBox(ex.Message)
     End Try
Else
          MsgBox("Server connection failure ", MsgBoxStyle.OkOnly, "Status")
End If
connection.Close()
Je voudrais savoir comment faire pour assigner la valeur de retour à une variable dans le code VB.NET

Merci d'avance,

Jah