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

Développement SQL Server Discussion :

Convertion d'une adresse web avec paramètres en nvarchar. Probleme signe =


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 75
    Points : 60
    Points
    60
    Par défaut Convertion d'une adresse web avec paramètres en nvarchar. Probleme signe =
    Bonjour,

    Petit problème de conversion…

    J'ai une triggre qui se déclanche après un insert et qui vas, en fonction des données inséré dans la table sur laquelle il est attaché, me concaténer une adresse web.

    Mon problème est que quand je veux convertir/concaténer l’adresse, j’ai le message « Échec de la conversion de la valeur nvarchar ' http://monsite.fr/index.php?nom=' en type de données int. »
    J’ai l’impression que c’est à cause des signes = mais n’en suis pas sur

    Exemple :
    Si j’écris :

    DECLARE @pageweb NVARCHAR(500)
    SET @pageweb = ‘http://monsite.fr/index.php?nom=DUPO...free.fr&age=5’

    Ca marche…

    Mais si j’écris :

    SET @nom = ‘DUPOND’
    SET @prenom = ‘Pierre’
    SET @email = ‘pierre.dupond@free.fr’
    SET @age = 5
    SET @pageweb = ‘http://monsite.fr/index.php?nom=’ + @nom + ‘&prenom=’ + @prenom + ‘&email=’ + @email + ‘&age=’ + @age

    Ca ne marche plus…

    Merci

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Quel est ton SGBD ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre éclairé Avatar de Arkhena
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 552
    Points : 769
    Points
    769
    Par défaut
    Bonjour,

    Selon le SGBD, le signe + peut ne pas servir à la concaténation.
    Il semblerait que ce soit le cas pour le votre qui essaye de faire des additions entières avec vos chaînes de caractères, ce qu'il ne peut pas faire...

    Quel est votre SGBD ?

    Cordialement,

    Arkhena
    A bove ante, ab asino retro, a stulto undique caveto

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 75
    Points : 60
    Points
    60
    Par défaut
    Je suis sous MSSQL 2008 R2 où je fais mes essais mais il faudra que je le fasse fonctionner sur du MSSQL 2005 (d'ailleur je suis pas sur que cela fonctionne sous 2005...)

  5. #5
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    et un petit lien utile
    Merci d'ajouter un sur les tags qui vous ont aidé

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 75
    Points : 60
    Points
    60
    Par défaut
    Merci de vos retours rapide.

    J'avais lu ce lien et d'autres similaire et essayé avec la barre vertical.
    Déjà je ne peut en mettre qu'une car avec 2 barre j'ai une erreur de syntaxe et ne peut enregistrer mon trigger.

    Jai découper petit à petit pour voir qu'elle caractère me posait problème.
    J'ai cru dans un premier temps que cela venais du = ou du & mais même pas.

    En fait j'arrive plus à concaténer une chaine et plus je cherche moins je vois de solution évidament... -_-;


    Si je fait :
    SET @pageweb = ‘http://monsite.fr/index.php?nom=’ | @nom | ‘&prenom=’ | @prenom | ‘&email=’ | @email | ‘&age=’ | @age
    Je peux enregistrer mon trigger mais au lancement j’ai le message : Échec de la conversion de la valeur varchar ‘http://monsite.fr/index.php?nom=’ en type de données int.

    Si je fait :
    SET @pageweb = ‘http://monsite.fr/index.php?nom’ | ‘=’ | @nom | ‘&prenom=’ | @prenom | ‘&email=’ | @email | ‘&age=’ | @age
    Je ne peux pas enregistrer mon trigger et j’ai le message : Les types de données varchar et varchar sont incompatibles dans l'opérateur '|'.
    (pourtant je n’ai pas de varchar dans mon code)

    Si je fait :
    SET @pageweb = ‘http://monsite.fr/index.php?nom’ | @nom | ‘&prenom=’ | @prenom | ‘&email=’ | @email | ‘&age=’ | @age
    Je peux enregistrer mon trigger mais au lancement j’ai le message : Échec de la conversion de la valeur varchar ‘http://monsite.fr/index.php?nom’ en type de données int.

    Si je fait :
    SET @pageweb = @nom | ‘&prenom=’ | @prenom | ‘&email=’ | @email | ‘&age=’ | @age
    Échec de la conversion de la valeur varchar '&prenom=' en type de données int.


    Si je fait :
    SET @pageweb = @nom | ‘&prenom’ | @prenom | ‘&email=’ | @email | ‘&age=’ | @age
    Échec de la conversion de la valeur varchar '&prenom’ ' en type de données int.

    Si je fait :
    SET @pageweb = @nom | ‘prenom’ | @prenom | ‘&email=’ | @email | ‘&age=’ | @age
    Échec de la conversion de la valeur varchar 'prenom’ ' en type de données int.

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Et si tu déclares l'âge comme une chaine ? Après tout, si tu ne fais pas de calculs ça ne change pas grand chose:
    Tatayo.

  8. #8
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 75
    Points : 60
    Points
    60
    Par défaut
    Merci Tatayo...

    C'était aussi bête que ca.

    A trop avoir le nez sur un problème on ne voie plus la solution.
    Je pensai que c'était mes signes (= ou &) qui posaient problème alors que j'avais juste un cast à faire sur mes nombres...

    On se sent con des fois ^^

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Y'a comme un truc qui me titille dans le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    @email int
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SET @email = ‘pierre.dupond@free.fr’
    Tatayo.

  10. #10
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 75
    Points : 60
    Points
    60
    Par défaut
    Que cela ne vous titille plus c'est une erreur de copier collé ^^

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

Discussions similaires

  1. [Exo portal] afficher une page web avec paramètres dans un Iframe
    Par mismym dans le forum Autres langages pour le Web
    Réponses: 0
    Dernier message: 09/02/2010, 18h04
  2. Comment accéder à un javascript avec une adresse web?
    Par Pragmateek dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/03/2006, 13h52
  3. Ouvrir une page Web avec le navigateur
    Par BB85_TIGRIS dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 17/12/2005, 09h45
  4. Son dans une page Web avec Firefox
    Par diod dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 02/12/2005, 17h49
  5. problème adresse web avec apache
    Par xlinformatik dans le forum Apache
    Réponses: 4
    Dernier message: 08/09/2005, 18h33

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