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

Requêtes et SQL. Discussion :

Comment insérer une variable de type STRING dans une SQL ? [AC-2007]


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 17
    Points : 20
    Points
    20
    Par défaut Comment insérer une variable de type STRING dans une SQL ?
    Bonjour,

    j'aimerais insérer une variable de type texte dans une SQL, mais cela ne fonctionne pas.

    J'y arrive avec des variables de type INTEGER, mais pas avec un STRING

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        mySQL = "INSERT INTO T1_THMART ( THMART_idTHM, THMART_idART ) VALUES (" & t & ", " & a & ");"        'SQL avec variable INTEGER fonctionnelle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    dim t, a as integer
    dim p as string
    mySQL = "INSERT INTO T1_THMART ( THMART_idTHM, THMART_idART, THMART_p ) VALUES (" & t & ", " & a & ", p );"           '1ere SQL avec integer et STRING qui ne renvoie rien !
    mySQL = "INSERT INTO T1_THMART ( THMART_idTHM, THMART_idART, THMART_p ) VALUES (" & t & ", " & a & ",  " & p & ");"   '2nd SQL avec integer et STRING qui ne renvoie rien !
    ... comment faire?

    Merci d'avance.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 258
    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 258
    Points : 12 927
    Points
    12 927
    Par défaut
    Bonjour,
    "Je n'y arrive pas", c'est un peu léger...
    Il serait bien de donner un peu plus d'infos si tu veux avoir une réponse "qui va bien", par exemple ici le message d'erreur.
    Quoi qu'il en soit, je vois un problème dans tes requêtes : les chaînes de caractères doivent être entre simples quotes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    dim t, a as integer
    dim p as string
    mySQL = "INSERT INTO T1_THMART ( THMART_idTHM, THMART_idART, THMART_p ) VALUES (" & t & ", " & a & ",  '" & p & "');"   '2nd SQL avec integer et STRING qui ne renvoie rien !
    Et sauf erreur de ma part, une requête d'insertion ne renvoie rien, ce n'est pas un Select.

    Tatayo

  3. #3
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 052
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 052
    Points : 24 645
    Points
    24 645
    Par défaut
    Bonjour,

    les chaînes de caractères doivent être entre simples quotes.
    Et si on passe une variable contenant une apostrophe ? C'est un caractère assez usité en français.

    Préférer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    p = "C'est du text"
     
    ... (" & t & ", " & a & ",  """ & p & """);"
    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  4. #4
    Membre émérite Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 485
    Points : 2 266
    Points
    2 266
    Par défaut
    Bonjour,
    Les variables de type texte sont encadrés par des simples cote ['] si le contenu de la variable contient des apostrophes on les double avec la fonction replace.

    J'ai repris le code tatayo
    Code à tatayo : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mySQL = "INSERT INTO T1_THMART ( THMART_idTHM, THMART_idART, THMART_p ) VALUES (" & t & ", " & a & ",  '" & replace(p,"'","''") & "');"

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

Discussions similaires

  1. Variable de type string dans une méthode
    Par bubblebe dans le forum Débuter
    Réponses: 6
    Dernier message: 16/08/2011, 20h34
  2. variable de type string dans une requete sql
    Par hammag dans le forum JDBC
    Réponses: 9
    Dernier message: 15/06/2008, 01h32
  3. Réponses: 6
    Dernier message: 14/02/2007, 21h08
  4. Des " dans une variable de type String
    Par 4lkaline dans le forum Langage
    Réponses: 6
    Dernier message: 06/11/2006, 14h20

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