14. november 2008 - 16:17Der er
6 kommentarer og 1 løsning
Validering imod database
Jeg har en webapplikation, hvor et login skal validere op imod en access database. Jeg har forsøgt mig lidt frem, og har fundet frem til nedenstående - men jeg får desværre denne fejl:
***************************************************************** Specified cast is not valid.
Line 64: while (readData.Read()) Line 65: { Line 66: tempUid = readData.GetString(0); Line 67: tempPwd = readData.GetString(1); Line 68: }
Den er gal med linie 66 & 67 - men jeg kan ikke gennemskue den da det er en string der returneres. (Det burde det være i hvert fald) *****************************************************************
Din sql sætning returnere bare 1 række med 1 kolonne som er en integer. Du skriver jo select count(*) .... i din sql! Du tæller antallet af rows i databasen, hvor brugernavn og password er lig med de givne brugernavn og password.
Ahh - og en anden ting er, at jeg ikke får hentet parameterne ned fra strSQL. En lille rettelse.... :-)
Men ja nu virker det bare fornemt. Jeg rodede lidt med den boolean i aftes. Når man nu får et resultat - true or false, kan du så give et hint til hvordan jeg sender brugeren videre? Jeg kan jo ikke smide noget direkte ind i :
if (count == 1) { return true; //Valid User } else { return false;//Invalid User }
Jeg smider lige koden med rettelserne her. :-)
Smider du et svar aaberg cc? Og tusind tak for hjælpen. protected void btnValidateUser_Click(object sender, EventArgs e) { bool IsValidUser = false; IsValidUser = ChechIfUserExist(Brugernavn.Text, Passkode.Text);
if (IsValidUser) { fejl.Text = "Du er logget ind!"; //Procced to next level }
else { fejl.Text = "Du er IKKE logget ind!"; //Abort or re-enter username and password } }
Det var godt du fandt ud af det. her kommer svaret.
Lige en lille tilføjelse, som egentlig ikke har nogen praktisk betydning. Men, følgende:
if (count == 1) { return true; //Valid User } else { return false;//Invalid User }
kan skiftes ud med dette:
return count == 1;
Hvilket ser lidt mere elegant ud, men giver helt samme resultat.
:-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.