Hej Hej.Hur kontrollerar man att fått något i retur från en dat
Jag har den här koden:
<code>
this.strSQL.CommandText = "SELECT UID,PWD FROM adm_admin WHERE UID = '" + txtUID.Text +"' AND PWD = '" + txtPWD.Text + "'";
this.strSQL.Connection = this.conn;
conn.Open();
OleDbDataReader myRead = strSQL.ExecuteReader();
MessageBox.Show (myRead.Read().ToString());
if (myRead.Read().ToString()== "False")
{
MessageBox.Show ("Fel lösenord","Lösenords kontroll",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
else
{
//MessageBox.Show ("Den gubben gick inte","Lösenords kontroll",MessageBoxButtons.OK,MessageBoxIcon.Error);
lblLogin.Text = "Inloggad";
}
myRead.Close ();
conn.Close ();
</code>
MessageBoxen returnerar True om inloggningen stämmer, annars False, men jag kan inte läsa av det i IF satsen, även om jag gör om det till .ToString.
Det kanske inte ens är myRead som jag ska läsa av, just nu famlar jag i blindo.
Är det någon som har en lösning på problemet?
/Anna-KarinSv: Hur kontrollerar man att fått något i retur från en
Nä, Du läser första posten när du ropar på .Read() första gången.
MessageBox.Show (myRead.Read().ToString());
Sen ställer sig pekaren på en eventuell andra post. som inte finns i detta fall.
Då kommer if-satsen returnera false.
Du kan lagra resultatet från .read() i en variabel för att lyckas med det du vill göra.
Testa detta:
Boolean blnValid;
blnValid = myRead.Read();
MessageBox.Show (blnValid.ToString());
if (!blnValid)
{
MessageBox.Show ("Fel lösenord","Lösenords kontroll",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
else
{
//MessageBox.Show ("Den gubben gick inte","Lösenords kontroll",MessageBoxButtons.OK,MessageBoxIcon.Error);
lblLogin.Text = "Inloggad";
}
Tror det skall funka...
//freddaSv: Hur kontrollerar man att fått något i retur från en
Tackar, nu fungerar det.
Jag tror jag får önska mig en nyare C# bok än de som jag har.
/Anna-Karin