begin process at 2012 05 27 17:46:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Base de données

 > 

MySQL

 > 

comment rendre une verification de connectionbeaucoup plus rapide ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

comment rendre une verification de connectionbeaucoup plus rapide ?

mercredi 25 avril 2007 à 14:44:02 | comment rendre une verification de connectionbeaucoup plus rapide ?

6miK

Bonjour,
j'aimerais savoir comment faire une vérification beaucoups plus rapide, car ceci mais tout de même un certain temps lorsqu'il sagit de vérifier que l'on a à faire à un fournisseur.
Le code ci dessous n'est pas compliqué du tout mais très long à l'exécution.
Si qu'elqu'un pouvait m'aider.
Merci d'avance.


OdbcConnection con;

   void BoutonValider(object sender, EventArgs e)
     {
         OdbcCommand command;
         string sql;
         con = new OdbcConnection(ConfigurationSettings.AppSettings["connexion"]);
         con.Open();

         Label1.Text="";
         Label2.Text="";
         Label3.Text="";
         Label4.Text="";

         if(TextBox1.Text.Length == 0 || TextBox2.Text.Length == 0)
         {
           if (TextBox1.Text.Length == 0)
           {
              Label2.Text="* Veuillez saisir un login";
           }

           if (TextBox2.Text.Length == 0)
           {
               Label3.Text="* Veuillez saisir un mot de pass";
           }
         }

         else
         {
           sql = "SELECT nomU, mdpU, prenomU FROM `utilisateur` WHERE nomU = '" + TextBox1.Text + "' AND mdpU = '" + TextBox2.Text + "'";
           command = new OdbcCommand(sql, con);
           command.ExecuteNonQuery();

           if(command.ExecuteNonQuery() > 0)
           {

               DataSet data = new DataSet();
               OdbcDataAdapter adapter = new OdbcDataAdapter(sql, con);
               adapter.Fill(data);
               DataTable maTable = data.Tables[0];

               foreach (DataRow row in maTable.Rows)
               {
                   string r0 = (string)row[0];
                   string r1 = (string)row[1];
                   string r2 = (string)row[2];

                   if(TextBox1.Text.ToUpper() == r0.ToUpper() && TextBox2.Text.ToUpper() == r1.ToUpper())
                   {

                       Label1.Text += "Bienvenu " + r2 + " " + r0 + " !";

                   }
               }
           }
           else
           {

           sql = "SELECT nomC, mdpC FROM `client` WHERE nomC = '" + TextBox1.Text + "' AND mdpC = '" + TextBox2.Text + "'";
           command = new OdbcCommand(sql, con);
           command.ExecuteNonQuery();

           if(command.ExecuteNonQuery() > 0)
           {

               DataSet data = new DataSet();
               OdbcDataAdapter adapter = new OdbcDataAdapter(sql, con);
               adapter.Fill(data);
               DataTable maTable = data.Tables[0];

               foreach (DataRow row in maTable.Rows)
               {
                   string r0 = (string)row[0];
                   string r1 = (string)row[1];

                   if(TextBox1.Text.ToUpper() == r0.ToUpper() && TextBox2.Text.ToUpper() == r1.ToUpper())
                   {
                       Label1.Text += "Bienvenu client : " + r0 + " !";
                   }
               }
           }
           else
           {
           sql = "SELECT nomF, mdpF FROM `fournisseur` WHERE nomF = '" + TextBox1.Text + "' AND mdpF = '" + TextBox2.Text + "'";
           command = new OdbcCommand(sql, con);
           command.ExecuteNonQuery();

           if(command.ExecuteNonQuery() > 0)
           {
               DataSet data = new DataSet();
               OdbcDataAdapter adapter = new OdbcDataAdapter(sql, con);
               adapter.Fill(data);
               DataTable maTable = data.Tables[0];

               foreach (DataRow row in maTable.Rows)
               {
                   string r0 = (string)row[0];
                   string r1 = (string)row[1];

                   if(TextBox1.Text.ToUpper() == r0.ToUpper() && TextBox2.Text.ToUpper() == r1.ToUpper())
                   {
                      Label1.Text += "Bienvenu fournisseur : " + r0 + " !";
                   }
               }
           }
           else
           {
                Label4.Text += "erreur : Mauvais login ou mot de pass";
           }
         }
       }
        con.Close();
  }

}

mercredi 25 avril 2007 à 23:57:43 | Re : comment rendre une verification de connectionbeaucoup plus rapide ?

jesusonline

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Bonsoir,

mais que se passe t'il si je met la valeur '; drop table utilisateur dans la textbox1 ... on le répétera jamais assez mais la sécurité c'est tous les jours ... utilises des requetes paramétrés.

sinon la question est vague, as tu identifié la ligne qui est longue ? il n'attend pas simplement un timeout ? dans ce cas doit falloir modifier le paramètre dans la connectionstring


Cyril - MSP - MCTS ASP.net & SQL
jeudi 26 avril 2007 à 09:47:10 | Re : comment rendre une verification de connectionbeaucoup plus rapide ?

6miK

si je tape drop table utilisateur :
j'ai le Label2 qui affiche : * Veuillez saisir un mot de pass
et si je lui met un mot de pass j'ai le Label4 qui affiche :
erreur : Mauvais login ou mot de pass

et dans mon web.config j'ai ca en gros :
<add key="connexion" value="DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;UID=****;DATABASE=****;" />

(les * sont des noms non comunniqués ^^ )

Néanmoins, c'est peut être le poste sur lequel je travail qui est lent car cela va 3 fois plus dès lors ou je suis chez moi sur ma machine ^^
jeudi 26 avril 2007 à 10:27:11 | Re : comment rendre une verification de connectionbeaucoup plus rapide ?

jesusonline

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
j'espere que c'est une blague ?

tu as une ENORME faille de sécurité là, tu devrais vraiment le corriger et utiliser les requetes paramétrés, tu devrais aussi t'utiliser les RequiredFieldValidator qui t'évite de tester manuellement si le champ est null ou non ...


Cyril - MSP - MCTS ASP.net & SQL
jeudi 26 avril 2007 à 10:33:12 | Re : comment rendre une verification de connectionbeaucoup plus rapide ?

6miK

ok
je vais voir ca mais j'ai jamais fait de C# au part avant
jeudi 26 avril 2007 à 12:49:11 | Re : comment rendre une verification de connectionbeaucoup plus rapide ?

6miK

Donc oui j'ai bien un gros problème  sécurité au niveau de la vulnérabilité pour les "injection sql" directement dans les textbox.

Je me suis documenté la dessus et il n'y à pas de problème je ferais des requêtes paramètrés.

Néanmoins j'ai demandé à mon responsable de stage, et je m'occuperais de ca si j'ai le temps à la fin ;)


Cette discussion est classée dans : text, string, con, command, toupper


Répondre à ce message

Sujets en rapport avec ce message

problème avec le rechargement des données de la page [ par dakos27 ] voila le code que j'utilise pour effectuer ma recherche le code vb et celui de asp net: <asp:Image ID="Image1" runat="server" Height= Callback dans dynamic Usercontrol [ par angelflo18 ] Bonjour à tous,Je suis confronté à un probleme dans mon dev à savoir :J'essaye de me former au dev d'un site .NET avec ajax (et callback) et j'ai une C# ASP.Net et base de données (récuperation de données) [ par ghano81 ] bnjour comment recuperer une valeur null(base de données crée en sql server2005) de la base de donnés en c# ?string constring = <font color="#008080 Problème d'encodage avec google translator [ par ddove53 ] Bonjour, je du texte traduit à partir de google Translator. Mon problème c'est que certains caractères de la traduction récupérée ne sont pas reconnus ajouter un enregistrement dans une base de données Mysql [ par kabi14 ] salut, Je réalise une application (site web) sous visual studio 2010 avec une db mysql. J'ai donc installé le connector 5.2 de mysql Mais lors de in Erreur lors d'un INSERT INTO [ par WineFun ] Bonjour, j'ai cette erreur quand je fais un nouvel ah=jouts dans ma base de donnée, via mon site en aspx. La référence d'objet n'est pas d L'opération doit utiliser une requête qui peut être mise à jour??? [ par Jula ] salut!je faisais une requête pour ajouter un tuple dans une table a partir de champs rempli par l'utilisateur, comme ceci:string rs = TextBox_rs.Text; Plusieurs autocompletions [ par progux ] Bonjour,J'ai un formulaire de recherche de personne, avec nom, prenom, date de naissance etc.J'ai mis en place les AutoCompleteExtender sur chaque cha Problème avec les apostrophes [ par tifon974 ] Bonjour <p class="MsoNormal" style="M Erreur lors d'une procédure d'insertion [ par kabrider ] Bonjour,Je debute en asp.net. Après une procédure d'Insert j'ai l'erreur suivante.Voici mon code :


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales