rodoleri
Messages postés2Date d'inscriptionjeudi 2 juillet 2015StatutMembreDernière intervention 2 juillet 2015
-
Modifié par Whismeril le 2/07/2015 à 19:53
cgandco
Messages postés219Date d'inscriptionmercredi 26 octobre 2011StatutMembreDernière intervention22 juin 2017
-
17 juil. 2015 à 15:46
Salut a tous
je suis débutant en C# je voudrai sollicité l'aide de tous, je créer une application et je n'arrive pas a corriger les erreurs, et je n'arrive pas aussi à me connecté sur ma basse de données. SVP!!!! aidé moi.
voici mon code:
private void button1_Click(object sender, System.EventArgs e)
{
valider();
}
private void mot_de_passe_Leave (object sender, System.EventArgs e)
{
valider();
}
void valider()
{
Cursor = Cursors.WaitCursor;
if(this.MdiParent.Menu.MenuItems[0].MenuItems[0].Text =="Connexion")
{
OdbcConnection cn = new OdbcConnection("DSN=cp1");
try
{
cn.Open();
}
catch
{
MessageBox.Show("Failed to connect to data source");
}
finally
{
OdbcCommand comm;
comm=new OdbcCommand("select * from utilisateur where login=? and mot_de_passe=?",cn);
comm.Parameters.Add("login",login.Text);
comm.Parameters.Add("mot_de_passe",mot_de_passe.Text);
comm.Connection=cn;
OdbcDataReader rs;
try
{
rs=comm.ExecuteReader();
if (rs.Read())
{
if(rs.GetString(2)== "a")
{
this.MdiParent.Menu.MenuItems[1].Visible=true;
this.MdiParent.Menu.MenuItems[2].Visible=true;
this.MdiParent.Menu.MenuItems[3].Visible=true;
this.MdiParent.Menu.MenuItems[4].Visible=true;
this.MdiParent.Menu.MenuItems[5].Visible=true;
}
else
{
this.MdiParent.Menu.MenuItems[3].Visible=true;
this.MdiParent.Menu.MenuItems[4].Visible=true;
}
this.MdiParent.Menu.MenuItems[0].MenuItems[0].Text = "Déconnexion" ;
this.MdiParent.Text=this.MdiParent.Text +" ------- Bienvenue "+rs.GetString(5)+" "+rs.GetString(3)+" "+rs.GetString(4)+" ---------";
this.Close();
}
else
MessageBox.Show(this,"Login ou Mot de passe invalide","",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
catch(Exception er)
{
MessageBox.Show(this,"Login ou Mot de passe invalide","",MessageBoxButtons.OK,MessageBoxIcon.Error);
login.Text=er.ToString();
}
}
et voici l'erreur:
Avertissement 1 'System.Data.Odbc.OdbcParameterCollection.Add(string, object)' est obsolète : 'Add(String parameterName, Object value) has been deprecated. Use AddWithValue(String parameterName, Object value). http://go.microsoft.com/fwlink/?linkid=14202'.
Whismeril
Messages postés18989Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention26 mars 2024654 2 juil. 2015 à 19:55
Bonjour,
Merci de garder à l'esprit que CodeS-SourceS est une communauté d'entraide. Toutes les réponses sur le forum sont assurées par des bénévoles qui donnent de leur temps libre pour aider à résoudre les problèmes. La seule urgence pour eux est leur propre vie.
Penser à utiliser les balises de coloration syntaxique. S'il y a un message d'erreur retranscrivez le dans son intégralité, en précisant à quelle ligne apparait cette erreur.
cgandco
Messages postés219Date d'inscriptionmercredi 26 octobre 2011StatutMembreDernière intervention22 juin 20179 17 juil. 2015 à 15:46
Bonjour,
pourquoi mettre
finally
{
OdbcCommand commd;
commd = new OdbcCommand("select * from utilisateur where login=? and mot_de_passe=?", cnx);
commd.Parameters.Add("login", compte.Text);
commd.Parameters.Add("mot_de_passe", mot_de_passe.Text);
commd.Connection = cnx;
OdbcDataReader dtr; ...
...
dans le finally, car si ta connection n'est pas ouverte, tu ne peux pas l'utiliser cela va provoquer une deuxieme erreur inutilement.
place plutot ton deuxieme try en cascade dans ton premier.
petit conseil aussi utiliser
using(OdbcConnection cnx = new OdbcConnection("DSN=KINGMINDONGO"))
{
// utilisation de la connection ici.
using( OdbcCommand commd = new OdbcCommand("select * from utilisateur where login=? and mot_de_passe=?", cnx))
{
// utilisation de la Commande ici.
}
}