18. oktober 2006 - 19:39Der er
6 kommentarer og 1 løsning
Få udskrevet alle oplysninger i tabellen
Jeg har en tabel med følgende kolonner:
BrugerID SkoleKom-navn Brugertype Klasse
Brugeren logger sig ind via en form og login.asp, som ser sådan ud
<% 'asp herfra------------------------
' bruges til at tjekke om brugeren finde i db ved login ' Sender resultaterne fra tilføj links til databasen
strBrugerID = Trim(Replace(Request.Form("BrugerID"),"'","")) strSQL ="SELECT * FROM bhklasse WHERE UCase(BrugerID) = '" & UCase(strBrugerID) & "'" set rs = Conn.execute(strSQL) if not rs.EOF then response.write rs("BrugerID")
end if 'først tjekke om brugeren findes ved at tjekke om recordsetet er tomt. if not rs.EOF then if LCase(rs("BrugerID")) = LCase(strBrugerID) then 'LOGIN OK session("BrugerID") = rs("BrugerID")
Response.Redirect("elevside.asp") else 'INGEN BRUGER FUNDET 'Eller en blev fundet men databasen bruger navn passer ikke med det 'indtastede brugernavn end if else 'brugeren ikke fundet lave det som skal ske hvis brugeren ikke er fundet her response.write "<p align=center><font color=black face=verdana size=3><b>Forkert brugernavn eller password.<br> Prøv igen.</b></p><br>" end if Conn.Close Set Conn = Nothing %>
Hvis brugeren godkendes, bliver han altså dirigeret til elevside.asp. Her vil jeg gerne have udskrevet alle de oplysninger om brugeren, som står i tabellen. Jeg kan godt få udskrevet BrugerID ved hjælp af Session("BrugerID"), men hvordan får jeg udskrevet SkoleKom-navn, Brugertype og Klasse?
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Nu har du jo gjort noget fyfy ved at bruge en "SELECT *". Men da du nu har gjort det sådan, så kan du bare ændre til: #CODE# 'LOGIN OK session("BrugerID") = rs("BrugerID") session("SkoleKom-navn") = rs("SkoleKom-navn") session("Brugertype") = rs("Brugertype") session("Klasse") = rs("Klasse")
Response.Redirect("elevside.asp") #CODE#
Hvis du vil rette din SELECT til skal den se sådan ud: #CODE# strSQL ="SELECT BrugerID,SkoleKom-navn,Brugertype,Klasse FROM bhklasse WHERE UCase(BrugerID) = '" & UCase(strBrugerID) & "'" #CODE#
OK, men i mit tilfælde havde jeg jo netop brug for alle 4 oplysninger og så er det vel nemmest at skrive strSQL ="SELECT * Tak til langthjem for et brugbart svar.
Det er nemmere at skrive Select * From .... frem for Select BrugerID, SkoleKom-navn, Brugertype, Klasse From .... Hvis din tabel kun indeholder disse 4 felter er det selvfølgelig lige meget, men hvis du har 20 felter i tabellen og kun skal bruge 4, er det overkill at vælge alle.
Det er ganske enkelt god skik og brug kun at vælge de felter du skal bruge. En anden ting er at hvis du på et tidspunkt vælger at lave dit rs om til et array med alle felter, og derefter tilføjer et felt til tabellen, så vil indexet for de forskellige felter ændre sig, og så virker array'et ikke.
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.