Partage
  • Partager sur Facebook
  • Partager sur Twitter

Gestion de formulaires

C# windows forms

    6 février 2012 à 9:34:40

    Bonjour,
    pour faire simple, j'ai 3 formulaires dont le premier ( que j'appelerais Form1 ) mon formulaire d'acceuil.
    Depuis celui-ci j'appel mon Form2 et j'aimerais que mon Form1 devienne inaccessible,
    mais lorsque depuis mon Form2 j'appel mon Form3, il faudrait que mon Form2 se ferme tout en laissant la Form1 ( acceuil ) inaccessible.

    J'ai vue qu'il fallait utiliser la propriété Modal pour que le formulaire actif soit defini comme seul accessible.
    J'ai donc appelé mes formulaires avec des ShowDialog, le problème c'est que lorsque j'appel mon Form3 avec de nouveau un ShowDialog, le Form2 ne se ferme pas ( malgrès un Close(); ).

    J'espère avoir été clair,
    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      7 février 2012 à 9:42:43

      Petit up.

      J'ai un autre soucis, concernant la mise à jour de ma base de données :
      J'effectue un insert avec comme valeur du text contenu dans une textbox, seulement lorsque dans la textbox il y a une simple cote ( exemple : "L'alcatraz" ), la simple cote ferme le champs de ma valeur et une exception est levée.



      MySQLCmd = "INSERT INTO demande (LibelleAsso) VALUES ('" + Txtbox.Text + "')"
      

      Avec comme text : L'alcatraz, l'apostrophe va fermer l'ouverture de la première cote et le code qui suit deviendra faux.

      Si quelqu'un à une solution ... :(

      Merci
      • Partager sur Facebook
      • Partager sur Twitter
        7 février 2012 à 11:08:02

        Les paramètres...Forcément si tu mets ton TextBox comme ça ta bdd va être ouvert au faille de SQL
        • Partager sur Facebook
        • Partager sur Twitter
          7 février 2012 à 11:40:17

          Est-ce mieux comme ça ?

          String NomAsso = TxtBoxNomAsso.Text.ToString().Replace("'", "''");
          
          String MySQLCmd = "INSERT INTO association (LibelleAsso) VALUES ('" + NomAsso + "')";
          
          • Partager sur Facebook
          • Partager sur Twitter
            9 février 2012 à 9:20:30

            Merci aethec, je suis deja tombé sur ce topic en surfant et j'ai lu le lien sur le sql injection.
            J'ai bien compris le danger et comment cette faille peut être utilisé, mais j'ai un peu plus de mal à comprendre comment la parer.
            C'est pour ca que j'ai mis un .replace("'", "''") mais ca n'a pas l'air de suffire ?
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              9 février 2012 à 12:24:00

              Utilise les paramètres de requête, pas des replace...
              • Partager sur Facebook
              • Partager sur Twitter
                9 février 2012 à 16:47:03

                Ca fait plus de code à ecrire mais j'ai remplacer mes requetes par des requetes parametrées, niveau securité ca devrait etre bon.

                Par contre pour mes fenetres, j'ai entendu parlé de quelque chose comme ca :

                Form2.showDialog(this);

                puis dans le form2 :

                Owner.close();

                Mais ca ne fonctionne pas ou je l'utilise mal, si tu en sais plus la dessus tiens moi au courant :)
                Finalement j'ai mis un Hide a la place du Close et il a l'air de le prendre ^^
                Par contre, il y a un moyen via le Owner d'acceder à une varibale de type Bool de mon formulaire appelant dans mon formulaire appelé ?

                Merci !
                • Partager sur Facebook
                • Partager sur Twitter

                Gestion de formulaires

                × 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