06. marts 2003 - 13:29Der er
13 kommentarer og 1 løsning
Database forbinelse
Hejsa,
Jeg har et lille problem... Jeg har et brugersystem hvor alle brugernes data ligger i en tabel i databasen der hedder "Bruger" og som bliver vist når de er logget ind, men på samme side skal der være en database forbinelse til en anden tabel i samme database der hedder "BrugerBiler" hvor der skal hentes alt data i cellen der hedder "BrugerId" hvor nummeret er det samme som brugerens ID.
Er det svært at forstå ? :-) Det håber jeg ikke...
Her er koden til den database forbinelse der henter brugerens informationer og brugerens ID:
------------------------------------------- <% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.Mappath("../database/bodykits.dk/brugersystem.mdb") sql = "select * from bruger where brugernavn = '" & Session("brugernavn") & "'" Set rs = Server.CreateObject("ADODB.Recordset") rs.open sql, conn, 1, 3 %> <font face="Verdana" size="3" color="#C0C0C0"> <center><b>Du er logget ind som: <%=RS("brugernavn")%></b></center> </font> <font face="Verdana" size="1"> Dit ID nummer er: <%=rs("Id")%>
<% rs.Update rs.Close Conn.Close Set rs = Nothing Set Conn = Nothing %>
Her skal der så være en ny database forbinelse mere som udskriver alt data fra tabelen "BrugerBiler" hvor brugerens ID nummer står i cellen "BrugerId" -----------------------------------
<% rs.Update rs.Close Conn.Close Set rs = Nothing Set Conn = Nothing %>
Og til føjer dette:
<% id = Rs("id") rs.Close
sql = "select * from brugerbiler where brugerid = " & id rs.Open sql, conn, 1, 3 do while not rs.EOF 'Så udksriver du de kolonne som er i brugerbiler Response.write rs("xxxxx")
Response.write rs("yyyyy")
rs.Movenext loop rs.Close set rs = nothing conn.Close set conn = Nothing
<% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.Mappath("../database/bodykits.dk/brugersystem.mdb") sql = "select * from bruger where brugernavn = '" & Session("brugernavn") & "'" Set rs = Server.CreateObject("ADODB.Recordset") rs.open sql, conn, 1, 3 intBrugerID = RS("ID") strBrugernavn = RS("Brugernavn") 'Har rykket lukningen her op pga. performance 'rs.Update 'Ingen grund til update, når du ikke opdaterer noget i tabellen rs.Close %> <font face="Verdana" size="3" color="#C0C0C0"> <center><b>Du er logget ind som: <%=strBrugernavn%></b></center> </font> <font face="Verdana" size="1"> Dit ID nummer er: <%=intBrugerID>
<% sql = "SELECT * FROM BrugerBiler WHERE BrugerId = " & intBrugerID rs.Open sql, conn, 1, 3
rs.Close Conn.Close Set rs = Nothing Set Conn = Nothing %>
Hvordan for man den til at fortælle noget hvis der ikke blev fundet noget ID i tabelen der passer ? Altså hvis brugerens ID ikke kan findes i den anden tabel skal den skrive: "Der blev ikke fundet noget data" Eller er det for svært ? :-)
<% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.Mappath("../database/bodykits.dk/brugersystem.mdb") sql = "select * from bruger where brugernavn = '" & Session("brugernavn") & "'" Set rs = Server.CreateObject("ADODB.Recordset") rs.open sql, conn, 1, 3 intBrugerID = RS("ID") strBrugernavn = RS("Brugernavn") 'Har rykket lukningen her op pga. performance 'rs.Update 'Ingen grund til update, når du ikke opdaterer noget i tabellen rs.Close %> <font face="Verdana" size="3" color="#C0C0C0"> <center><b>Du er logget ind som: <%=strBrugernavn%></b></center> </font> <font face="Verdana" size="1"> Dit ID nummer er: <%=intBrugerID>
<% sql = "SELECT * FROM BrugerBiler WHERE BrugerId = '" & intBrugerID & "'" rs.Open sql, conn, 1, 3 If NOT rs.EOF Then 'Hvis der blev fundet noget %> Her vil vi gerne udskrive bilmærket: <%=rs("Bilmaerke")%> <% Else 'Hvis der ikke var nogle data på brugere %> Der blev ikke fundet noget data <% End If rs.Close Conn.Close Set rs = Nothing Set Conn = Nothing %>
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.