/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Hent data ind i en tabel fra en Access fil
Fra : Ib Stokkebye


Dato : 03-01-02 00:01

http://www.kolding-loebet.nu/deltager/deltager.asp
På denne side har jeg en deltager liste, hvordan får jeg den til at blive
vist i en tabel med 2 kolonner. Hvor den i kolonne 1 skal skrive navn,start
nummer, distangce også videre i alt 6 rækker inden den skriver oplysninger
om næste deltage.
Klonne 2 skal den skrive den tilsvarende oplysning fra databasen.
Jeg bruger denne kode lige nu men det er jo kun de rå data fra databasen.
Er den måde jeg henter oplysningerne fra databasen på en sikker måde at gøre
det på, eller skal jeg gøre det på en anden måde.
Er der nogen som vil hjælpe mig med det, på forhånd tak
<%' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/db/kolding.mdb")
Conn.Open DSN
' SQL forespørgsel
strSQL = "Select * from deltager order by navn"
' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)
' Gennemløb Recordset (rs) med en løkke
Do
' Udskriv værdien af kolonnen navn
Response.Write rs("navn") & "<br>"
Response.Write rs("postby") & "<br>"

Response.Write rs("koen") & "<br>"
Response.Write rs("distance") & "<br>"
Response.Write rs("klub") & "<br>"
Response.Write rs("startnr") & "<br>"


' Gå til næste Record i rs
rs.MoveNext
' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
Loop While Not rs.EOF
' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>

Venlig hilsen Ib Stokkebye



 
 
Jørn Andersen (03-01-2002)
Kommentar
Fra : Jørn Andersen


Dato : 03-01-02 15:40

On Thu, 3 Jan 2002 00:00:35 +0100, "Ib Stokkebye" <vamdrup@image.dk>
wrote:

>http://www.kolding-loebet.nu/deltager/deltager.asp
>På denne side har jeg en deltager liste, hvordan får jeg den til at blive
>vist i en tabel med 2 kolonner. Hvor den i kolonne 1 skal skrive navn,start
>nummer, distangce også videre i alt 6 rækker inden den skriver oplysninger
>om næste deltage.
>Klonne 2 skal den skrive den tilsvarende oplysning fra databasen.
>Jeg bruger denne kode lige nu men det er jo kun de rå data fra databasen.
>Er den måde jeg henter oplysningerne fra databasen på en sikker måde at gøre
>det på, eller skal jeg gøre det på en anden måde.
<SNIP>

>' SQL forespørgsel
>strSQL = "Select * from deltager order by navn"

Det er som regel mere gennemskueligt at hente navngivne felter og ikke
" * " fra databasen - altså fx:
strSQL = "Select navn, postby, koen, distance, klub, startnr from
deltager order by navn"
- det har desuden den fordel, at du for det første kun henter det, du
har brug for, og for det andet, så virjer det stadig, hvis du bytter
rundt på rækkefølgen af felterne i databasen

>' Udfør forespørgsel (rs indeholder nu resultatet)
>Set rs = Conn.Execute(strSQL)
>' Gennemløb Recordset (rs) med en løkke

' Det du nu skal er at sætte værdierne ind i en tabel:
Response.,Write "<table>" & vbcrlf
' (den er uden for loopen!)

>Do
>' Udskriv værdien af kolonnen navn

Response.,Write "<tr>" & vbcrlf
' (inden for loopen)

Response.Write "<td>" & rs("navn") & "</td>" & vbcrlf
Response.Write "<td>" & rs("postby") & "</td>" & vbcrlf
Response.Write "<td>" & rs("koen") & "</td>" & vbcrlf
Response.Write "<td>" & rs("distance") & "</td>" & vbcrlf
Response.Write "<td>" & rs("klub") & "</td>" & vbcrlf
Response.Write "<td>" & rs("startnr") & "</td>" & vbcrlf

' afslut posten med:
Response.,Write "</tr>" & vbcrlf

>' Gå til næste Record i rs
>rs.MoveNext
>' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
>Loop While Not rs.EOF

' afslut tabellen uden for loopen med:
Response.,Write "</table>" & vbcrlf


>' Luk databaseforbindelse
>Conn.Close
>Set Conn = Nothing

' Husk også:
rs.Close
Set rs = Nothing

>%>

Bemærk:
Sådanne "formatterings-loops" gør det uhyre meget enklere at lave
formattering af store mængder data. Hvis du fx vil fremhæve et bestemt
felt i tabellen, så er det jo bare at give det pågældende felt en fed
eller en farve i loopen.
Eller man kan lave et check på, om en værdi fx er negativ eller fx
større end 100 og så give disse værdier en bestemt farve.

Fx hvis du vil offentliggøre et løbsresultat, hvor der er et bestemt
kvalifikationskrav eller hvad ved jeg - så kan du i loopen indsætte
linien:

sluttid = rs("sluttid")
Response.Write "<td style="""color:"
If tid < 5 Then
Response.Write "#00ff00"
Else
Response.Write "#ff0000"
End If
Response.Write """>" & tid & "</td>" & vbcrlf

På den måde bliver dine sider meget mere "dynamiske" ...

Good luck,
Jørn


Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste