IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

[TRANSAC SQL] conversion du type d'un parametre


Sujet :

MS SQL Server

  1. #1
    Membre éprouvé Avatar de pinocchio
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2002
    Messages : 795
    Points : 960
    Points
    960
    Par défaut [TRANSAC SQL] conversion du type d'un parametre
    Bonjour,
    J'ai crée une procédure stockée dans il y'a des paramètres de type int et nvarchar. Je sonstruis ensuite une requete dans un nvarchar

    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
     
    Create Proc audit_utilisateur_u (
    		@UserId		int, 
    		@Site	         int, 
    		@Nom 		nvarchar(100), 
    ...
    				  )	
    As
      Begin
    DECLARE @SQL nvarchar(1000)
     
    BEGIN TRANSACTION
     
    IF NOT EXISTS (SELECT Utilisateur_Id FROM User WHERE Utilisateur_Id!=@UserId)
    BEGIN
    	SET @SQL = 'UPDATE Audit_Utilisateur '
    		+ 'set nom=''' + @Nom + ''' , site_id='
    		+ @Site
     
    ...
    EXEC (@SQL)
    ...
    Si j'exécute la procédure stockée, il m'indique l'erreur suivante
    Erreur de syntaxe lors de la conversion de la valeur nvarchar
    Le problème arrive avec la valeur @site qui est du type int.
    Pourriez-vous, svp, m'indiquer comment le convertir?
    Cordialement
    Pinocchio

  2. #2
    Membre éprouvé Avatar de pinocchio
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2002
    Messages : 795
    Points : 960
    Points
    960
    Par défaut
    Re-bonjour,
    La solution en fait était d'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CAST(@Site AS NVARCHAR(18))
    J'avais pas pensé que le mot CAST était valide pour une convertion à cet endroit.
    Cordialement
    Pinocchio

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    Je programme avec VB.NET et SQL Server, j ai utilisé le code suivant
    cmd.Parameters.AddWithValue("@Champs", CInt(Champs.Text))
    au niveau du SQL j ai declaré Champs etant un entier:@Champs as int
    Mais lorsque j exécute le programme une erreur s affiche en me disant:
    Erreur de conversion du type de données nvarchar en int
    Je fais quoi??
    Merci d avance pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/09/2009, 10h58
  2. [SQL S 2000] Type de variable ?
    Par Tankian dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/06/2004, 14h03
  3. [MYSQL] conversion de type sur import de script
    Par sebos63 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 27/08/2003, 10h00
  4. Transact Sql : Conversion de variable
    Par lord_paco dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/08/2003, 13h25
  5. Réponses: 2
    Dernier message: 05/06/2002, 12h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo