08. april 2002 - 11:18Der er
14 kommentarer og 1 løsning
Et simpelt login-script, der checker i databasen!?
Okay!.. Jeg indrømmer, at jeg er begynder udi .Net, men det er pinligt for mig, at indrømme, at jeg ikke engang kan finde ud af at lave et simpelt login script. Jeg mangler simpelthen nogle ting fra Classic ASP, hvor man kunne hive felter ud ad DB'en og derefter spørge: If rs.EOF then.. Det er sgu' nemmere at kode et helt nyt styresystem i Assembler end at få et recordset ud fra en SQL server i VB.Net!.. :)
Nuvel. Jeg håber, at der er nogle derude, som kan hjælpe mig!
Mit problem er følgende:
Mine brugere skal kunne skrive Brugernavn og Password i et par felter, som derefter skal valideres gennem SQL-serveren:
SelectStatement = "Select * From USERS WHERE USERNAME = '" & LblUsername.Text & "' AND PASSWORD = '" & LblPassword.Text & "'"
Herefter opstår problemet, fordi jeg mangler en måde at checke om SQL-statementet er End of file..
Er det mig, der tænker i de forkerte baner, eller findes der en nem løsning på dette problem?
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
du skal kikke på i SqlCommand klassen, den metoden som heter ExecuteNonQuery. Den returnerer antall rekker i databasen som passer din SQL. Hvis denne er større en 0, så er brukeren registrert...
myConnectString = "UID=sa;PWD=;Data Source=localhost;Initial Catalog=DTMEDIE;" Dim myConnection As New SqlConnection(myConnectString) Dim myCommand As New SqlCommand( _ "SELECT * From USERS WHERE (USERNAME = '" & TxtUsername.Text & "') AND (PASSWORD = '" & TxtPassword.Text & "')", _ myConnection) myCommand.Connection.Open() SqlResult = myCommand.ExecuteNonQuery() myCommand.Connection.Close() Response.Write(SqlResult) if SqlResult > 0 then msg.Text = "<br>Du er logget ind" ''session("logged_in") = "yes" Else msg.Text = "<br>Fejl i brugernavn eller password. Prøv igen" End If
Der er ingen fejl, men alligevel returnerer SqlResult -1!
hva med noe ála (min VB er ikke så god, men jeg håper du forstår hva jeg mener):
Dim reader As SqlDataReader Dim result As String myCommand.Connection.Open() reader = myCommand.ExecuteReader() if( reader.Read() ) then result = "Logget ind" else result = "Ikke logget ind" end if myCommand.Connection.Close()
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.