Partage
  • Partager sur Facebook
  • Partager sur Twitter

Lire une chaîne de caractère avec une apostrophe

Lire une chaîne de caractère avec une apostrophe depuis BDD sql server

Sujet résolu
    30 avril 2018 à 17:06:41

    Bonjour les roomers,

    Contexte: j'utilise node.js avec avec le module EJS pour mon formulaire, le module 'mssql' pour communiquer avec une BDD sql server. Le serveur récupère les données et les affiches dans le formulaire, notamment les commentaires et le niveau de satisfaction.

    Problème: Si dans ma condition la STRING contient une apostrophe le serveur ne sais pas la lire et du coup elle ne récupère ni le commentaire, ni le niveau de satisfaction pour l'afficher dans le formulaire.

    serveur.js

    app.get('/login/:client/:jira/:contact/:ticket', function(req, res) {
    
    	req.session.client = req.params.client;
    	req.session.jira = req.params.jira;
    	req.session.contact = req.params.contact;
        req.session.ticket = req.params.ticket;
    
    	res.redirect('/Hardis_formulaire');
    });
    app.get('/Hardis_formulaire', function(req, res){
    
    var clicos = req.session.client;
    var jira = req.session.jira;
    var Econtact = req.session.contact;
    
            // Chaine de connection
    var config = {
        user: 'admin',
        password: 'admin',
        server: 'sqlsrv', 
        database: 'MABDD' 
        };
        // connect to your database
        sql.connect(config, function (err) {
        
            if (err) console.log(err);
    
            // create Request object
            var request = new sql.Request();
            // query to the database and get the records
             request.query("select * from Formulaire where Client = '"+clicos+"' AND Contact = '"+Econtact+"' AND Jira = '"+jira+"' ", function (err, record2) {  
    
                if (err) console.log(err)
    
                    sql.close();
    
                res.render('form.ejs', {
                    client : req.session.client,
                    jira: req.session.jira,
                    contact: req.session.contact,
                    ticket: req.session.ticket,
                    results2: record2
                });
            });
        });
    });


    form.ejs

    <script type="text/javascript">
       var rows2 = <%-JSON.stringify(results2)%>;
       var recordset2 = rows2['recordset'];
       //console.log(rows2);
       //console.log(recordset2);
       $(recordset2).each(function(index, value){
       var comment2 = value['Commentaire'];
       var radio = value['lvlsatisfaction'];
       console.log(radio);
       document.getElementById("Commentary2").value = comment2;
       //console.log(Client);
       $('#'+radio).prop("checked", true);
       console.log($('#'+radio).prop("checked", true));
    });
    </script>

    j’espère avoir été assez explicite dans ma demande et que vous saurez m'aider,

    Merci :)

    -
    Edité par djean114 30 avril 2018 à 17:14:40

    • Partager sur Facebook
    • Partager sur Twitter
    djean114
    Anonyme
      1 mai 2018 à 17:23:51

      Salut,

      Je pense que tu peux essayer d'échapper l'apostrophe en mettant un "\" devant, exemple :

      L'apostrophe deviendra L\'apostrophe

      Me semble que c'est ça le soucis..

      -
      Edité par Anonyme 1 mai 2018 à 17:24:25

      • Partager sur Facebook
      • Partager sur Twitter
        2 mai 2018 à 13:36:35

        Salut Ekyss!

        tout d'abord je voudrais te remercier pour le temps que tu m'as accordé,

        Pour lire une STRING avec une apostrophe depuis une bdd Microsoft sql server il faut doubler les apostrophes,

        exemples: L'apostrophe deviendra L''apostrophe.

        Avec JS j'utilise la méthode replace() comme suite:

        var RIP = Jira.replace(/'/g,"''");

        Comme mon problème est résolus je clos le post.

        N’hésitez pas si vous avez des commentaires :)

        • Partager sur Facebook
        • Partager sur Twitter
        djean114

        Lire une chaîne de caractère avec une apostrophe

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown