Ungültiger Versuch zu Lesen, wenn keine Daten vorhanden sind in ASP.NET
Ich bin mit C# zu lernen ASP.NET ich habe versucht zu schreiben authentication code als
SqlCommand command = new SqlCommand("Select [ID] from [Inspector] WHERE [ID] ='111' AND [Password] ='111';", conn);
SqlDataReader dr = command.ExecuteReader();
if (dr[0].ToString() == username)
{
Session["UserAuthentication"] = username;
Session.Timeout = 1;
Response.Redirect("About.aspx");
}
else{
//...
}
Den ID
ist der Typ numeric
im SQL-Server.
Das Problem ist ich bekomme immer die Ausnahme:
Ungültigen Versuch zu Lesen, wenn keine Daten vorhanden sind.
In diesem Teil: if (dr[0].ToString() == username)
.
Ich versuchte, führen Sie die genaue SQL-Anweisung direkt ein und ich kann das Ergebnis zu erhalten.
speichern Sie keine Kennwörter im Klartext.
Ich weiß, dass, aber das ist nur zu lernen, code.
Das ist cool, aber könnte genauso gut lernen, über password hashing codeproject.com/Articles/704865/....
Möglich, Duplikat der stackoverflow.com/questions/13635366/...
Ich weiß, dass, aber das ist nur zu lernen, code.
Das ist cool, aber könnte genauso gut lernen, über password hashing codeproject.com/Articles/704865/....
Möglich, Duplikat der stackoverflow.com/questions/13635366/...
InformationsquelleAutor Aan | 2013-11-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Benötigen Sie zum Durchlaufen der Leser die Zeilen zurückgegeben - mithilfe von code etwa wie folgt:
Müssen Sie rufen Sie
.Read()
auf dieSqlDataReader
mindestens einmal tatsächlich Lesen der Daten.Wenn Sie planen, zu Lesen, wie viele Zeilen es gibt, sollten Sie
und befassen sich mit den mehrere Zeilen zurückgegeben werden.
InformationsquelleAutor marc_s
Müssen Sie bewegen Sie den DataReader auf die erste Zeile, bevor Sie anfangen können die Daten zu Lesen.
Rufen Sie
Read()
.InformationsquelleAutor SLaks