Login et mot de passe avec c#

Fermé
ahlam1 Messages postés 23 Date d'inscription mercredi 19 août 2009 Statut Membre Dernière intervention 1 avril 2011 - 7 mars 2010 à 03:45
 karima - 23 mai 2014 à 01:45
Bonsoir,
je suis débutante en c#
je veux un code qui me permet de vérifier si le mot de passe et login que l'utilisateur a saisie se trouve dans ma table (je travail avec access)
j'ai écris ce code dans le bouton se connecter mais il ne marche pas :
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;..........
con.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = "SELECT COUNT(login) FROM utilisateur WHERE login= ' " + textBox1.Text + "' AND motdepasse= '" + textBox2.Text + "'";
cmd.Connection = con;
Int32 cin = (Int32)cmd.ExecuteScalar();
if (cin<0)
{
MessageBox.Show("attention :Le mot de passe ou le login est incorrecte");
}
else {
MessageBox.Show("vous êtes connecter");
choixDeService cds = new choixDeService();
cds.Show();


}
con.Close();

si quelqu'un peut me donner le code ou me corriger celui la je serai très reconnaissante
merci d'avance
A voir également:

9 réponses

holow1 Messages postés 680 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 7 décembre 2012 71
Modifié le 6 déc. 2019 à 14:16
bonjour,


il y a une petit error je crois ici : if (cin<0) il faut mettre if ( cin =< 0) ou if (cin==0)

car cmd.ExecuteScalar(); nous retourner 0 c'est il y a des enregistrements est il nombre des enregistrements c'est il y a vraiment de enregistrement donc votre cas il va retourner 1 car il y a un seul enregistrement qui correspond a votre critère

par contre j'ai pas comprit le rôle de cette parti des code c'est vous pouvez nous explique

choixDeService cds = new choixDeService();
cds.Show();


Publicité supprimée Modération CCM
2
ahlam1 Messages postés 23 Date d'inscription mercredi 19 août 2009 Statut Membre Dernière intervention 1 avril 2011 2
7 mars 2010 à 22:24
bonsoir,
merci pour votre réponse
mais j essayé avec ( cin <= 0) et (cin==0) mais ça marche pas
si vous avez une autre idee ou une autre solution ........

pour
choixDeService cds = new choixDeService();
cds.Show();
choixDeService est une forme
je voulais dire si le mot de passe et login sont correcte alors ouvrer cette forme

merciii
1
holow1 Messages postés 680 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 7 décembre 2012 71
Modifié le 6 déc. 2019 à 14:17
Bonjour;


essayer comme ça

OleDbCommand cmd = new OleDbCommand(); 
cmd.CommandText = "SELECT COUNT(*) FROM utilisateur WHERE login= ' " + textBox1.Text + "' AND motdepasse= '" + textBox2.Text + "'";
cmd.Connection = con;
con.Open();
Int32 cin = (Int32)cmd.ExecuteScalar();
if (cin==0)
{
MessageBox.Show("vous êtes connecter");
choixDeService cds = new choixDeService();
cds.Show();

}
else {
MessageBox.Show("attention :Le mot de passe ou le login est incorrecte");
}
con.Close();



Publicité supprimée Modération CCM
0
ahlam1 Messages postés 23 Date d'inscription mercredi 19 août 2009 Statut Membre Dernière intervention 1 avril 2011 2
7 mars 2010 à 23:15
il na pas marché
ce que vous dite permet a l'utilisateur de se connecte tjr meme si le login ou le mot de passe sont incorrecte
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
holow1 Messages postés 680 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 7 décembre 2012 71
Modifié le 6 déc. 2019 à 14:17
bonjour,


cmd.ExecuteScalar() : retourne 0 c'est il n'y pas des enrg et le nombre dans le cas contraire c'est ça ?

dans votre cas : il va retourner 1 c'est le mdp et le login est correcte et 0 dans le cas contraire ?

donc :


if (cin!=0) 
{
MessageBox.Show("vous êtes connecter");
choixDeService cds = new choixDeService();
cds.Show();

}
else {
MessageBox.Show("attention :Le mot de passe ou le login est incorrecte");
}
con.Close();



il y a des erg dans votre Bd ?

Publicité supprimée Modération CCM
0
ahlam1 Messages postés 23 Date d'inscription mercredi 19 août 2009 Statut Membre Dernière intervention 1 avril 2011 2
7 mars 2010 à 23:41
oui bien sur quil existe des erg dans la bd
j essyayé mais il execute le else même si j'écris le login et le mot de passe correcte

si vous avez une autre idée encore sa serai formidable
0
holow1 Messages postés 680 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 7 décembre 2012 71
7 mars 2010 à 23:58
Bonjour ;

essayer avec un sqldatareader



SqlDataReader dr = default(SqlDataReader);
int r = 0;

cmd = new SqlCommand("select count(*) from pl where login = '" + TextBox1.Text + "' and passe = '" + TextBox2.Text + "'", cnx);
cnx.Open();
dr = cmd.ExecuteReader;
dr.Read();
r = dr(0);
dr.Close();
cnx.Close();

if (r != 0)
{
MessageBox.Show("vous êtes connecter");
}
else {


MessageBox.Show("attention :Le mot de passe ou le login est incorrecte");
}
}
0
ahlam1 Messages postés 23 Date d'inscription mercredi 19 août 2009 Statut Membre Dernière intervention 1 avril 2011 2
8 mars 2010 à 00:12
(moi je travail sur access et n'est pas sur sqlsever j changer votre prog avec les donnees accepter par access comme SqlDataReader par oledatareader) mais
dr est une variable ce n'est pas une methode on peux pas mettre dr(0)
il ne la pas accepte
0
OleDbDataAdapter da = new OleDbDataAdapter("select * from Users where Login='" + tlogin.Text + "' and Password='" + tpassword.Text + "'", Program.con);
DataSet ds = new DataSet();
da.Fill(ds);
if (ds.Tables[0].Rows.Count != 0)
{
MessageBox.Show("Bienvenu ", "Bienvenue", MessageBoxButtons.OK, MessageBoxIcon.Information);
GPDR09 f = new GPDR09();
f.Show();
this.Hide();

}
else
MessageBox.Show("Votre Nom ou Password est incorect");
tlogin.Clear();
tpassword.Clear();
0