récupération d'une valeur output en vb.net
Bonjour tous le mande, je viens de commencer avec les procédure stocké, et j'ai déjà eu des problème.
je veux faire une simple insertion dans une table et je faire vérifier si l'insertion est passé, si oui je veux récupérer l' id de la ligne insérer.
ce que j'ai fait:
procédure stocké:
Code:
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
|
-- =============================================
-- Author: Mustapha
-- Create date: 07/09/2009
-- Description: Insertion dans la table article_info pour le back office
-- =============================================
ALTER PROCEDURE [dbo].[article_info_insert]
-- Add the parameters for the stored procedure here
@photo varchar(150),
@titre varchar(max),
@description varchar(max),
@id_categorie tinyint,
@dat datetime,
@id_admin tinyint
@lastInsert int output
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
Insert Into article_info (photo, titre, description, id_categorie, dat, id_admin)
Values (@photo, @titre, @description, @id_categorie, @dat, @id_admin)
if @@error <> 0
select @lastInsert=@@identity
--select @lastInsert = scope_identity()
END |
et dans le VB.net:
Code:
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 40 41 42 43 44 45 46 47 48 49
| Imports System.Data.SqlClient
Imports System.Data
Partial Class back_actualite
Inherits System.Web.UI.UserControl
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button_vider.Click
Text_titre.Text = ""
Text_detail.Text = ""
End Sub
Protected Sub Button_valider_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button_valider.Click
Dim con As New SqlConnection("ma chaine de connexion")
'La chaine de connexion
Dim cmd As SqlCommand
'déclarer la commande
cmd = New SqlCommand("article_info_insert", con)
'appel de la procédure stocké
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add("@photo", SqlDbType.VarChar, 150)
cmd.Parameters.Add("@titre", SqlDbType.VarChar, 150)
cmd.Parameters.Add("@description", SqlDbType.VarChar, 150)
cmd.Parameters.Add("@id_categorie", SqlDbType.TinyInt)
cmd.Parameters.Add("@dat", SqlDbType.DateTime)
cmd.Parameters.Add("@id_admin", SqlDbType.TinyInt)
Dim p As SqlParameter = cmd.Parameters.Add("lastInsert", SqlDbType.Int)
'déclaration des variable de la procédure stocké
con.Open()
'ouverture de la connexion
If FileUpload_image.HasFile = False Then
cmd.Parameters("@photo").Value = "default.jpg"
Else
cmd.Parameters("@photo").Value = FileUpload_image.FileName
End If
cmd.Parameters("@titre").Value = Text_titre.Text
cmd.Parameters("@description").Value = Text_detail.Text
cmd.Parameters("@id_categorie").Value = 1
cmd.Parameters("@dat").Value = Date.Now
cmd.Parameters("@id_admin").Value = 1
'l'affectation des valeurs des variables de procédure stocké
cmd.ExecuteNonQuery()
'exécution de la procédure stocké
'fémeture de la connexion
End Sub
End Class |
mais je sais pas quoi faire en suite pour récupérer mon id ;)