Bonjour, -code en bas de post-

1/ Pb pour l'ajout d'un paramètre de type int dans une phrase SQL
contenue dans une sp_
Au lieu de me faire une concaténation de chaine, il me fait une
addition.

Err :
[FONT=Arial][/FONT] [FONT=Arial]Microsoft OLE DB Provider for SQL Server[/FONT] [FONT=Arial]error '80040e07'[/FONT]
[FONT=Arial]Erreur de syntaxe lors de la conversion de la valeur nvarchar 'INSERT INTO [TP_TypeUsers] (Intitule, UID) VALUES ('TEST' , ' vers une colonne de type de données int.
[/FONT]
[FONT=Arial]
2/ Concernant la gestion des erreurs, est-ce correct ?
[/FONT]
[FONT=Arial]
Merci de votre Aide.
PS : Suis-je un peu c*n, ou il n'y a plus le bouton "rechercher"
sur le forum ?
[/FONT]
[FONT=Arial]
Samish
[/FONT]

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
 
CREATE PROCEDURE sp_PRM01_INSERT
    @PrmTable nvarchar(50), 
    @PrmValue nvarchar(50),
    @PrmUID int,
    @PrmErr int OUTPUT
AS    
    DECLARE @SQL varchar(1200)     
    Set @SQL = 'INSERT INTO ['  + @PrmTable + '] (Intitule, UID) VALUES (' + @PrmValue + ' , '  + @PrmUID + ' ) ;'
 
    BEGIN TRANSACTION
    EXEC (@SQL)
    IF @@ERROR <>0
    BEGIN
        ROLLBACK TRANSACTION
        SET @PrmErr=-1
         RETURN
    END
 
    COMMIT TRANSACTION
       SET @PrmErr=0
       RETURN
GO