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é:
et dans le 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
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
mais je sais pas quoi faire en suite pour récupérer mon id
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
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![]()
Partager