08. august 2005 - 17:55Der er
11 kommentarer og 2 løsninger
Tjekke om der er records der matcher sql forespørgslen
Hejsa Eksperter!
Jeg er ved at gå fra asp til asp.net og vil i den forbindelse lave et login-system...
Nu er jeg så løbet ind i det problem at jeg ikke aner ret meget om asp.net andet end det jeg har læst på html.dk og w3schools.com, derfor har jeg aldrig set nogen måde at gøre følgende(asp-kode) i asp.net:
sql="blabla forespørgsel" set rs = conn.execute(sql)
if not rs.eof then 'sæt de nødvendige sessions 'redirect til forside.asp(x) else 'redirect til login.asp(x) end if
den vigtige del er if-sætningen, åbningen af databasen og hentningen af data med sql-forespørgslen har jeg på plads!
SqlCommand sel = new SqlCommand(sqlstmt, con); SqlDataReader rdr = sel.ExecuteReader(); if(rdr.Read()) { // der var noget } else { // der var ikke noget }
Dim sel As SqlCommand = New SqlCommand(sqlstmt, con) Dim rdr As SqlDataReader = sel.ExecuteReader() If rdr.Read() Then ' der var noget Else ' der var ikke noget End If
Der er ikke angivet nogen værdi for en eller flere krævede parametre. Beskrivelse: Der opstod en ikke-afviklet undtagelse under udførelse af den aktuelle webanmodning. Se staksporingen for at få yderligere oplysninger om fejlen, og hvor den kom fra i koden.
Detaljer om undtagelse: System.Data.OleDb.OleDbException: Der er ikke angivet nogen værdi for en eller flere krævede parametre.
Kildefejl:
Linje 10: sql="select * from login where brugernavn='" & txtbruger.text & "' and password='" & txtpass.text & "'" Linje 11: dbcomm = new OleDBCommand(sql, dbconn) Linje 12: dbread = dbcomm.executeReader() Linje 13: Linje 14: if dbread.read then
hele sub'en ser sådan her ud:
Sub CustomValidator1_ServerValidate(sender As Object, e As ServerValidateEventArgs)
dim dbconn, dbcomm, sql, dbread dbconn = new OleDBConnection("provider=Microsoft.Jet.OLEDB.4.0; data source=" & server.mappath("login.mdb")) dbconn.open() sql="select * from login where brugernavn='" & txtbruger.text & "' and password='" & txtpass.text & "'" dbcomm = new OleDBCommand(sql, dbconn) dbread = dbcomm.executeReader()
password er vist et reserveret ord i access, prøv med: sql="select * from login where brugernavn='" & txtbruger.text & "' and [password]='" & txtpass.text & "'"
Giver arne 40 da han løste mit oprindelige problem og a1 20 da han løste fejlen i min kode, håber det er i orden med jer ;)
Kalle
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.