Avatar billede shang Nybegynder
16. maj 2007 - 00:31 Der er 6 kommentarer og
1 løsning

Udskriv data en gang

Jeg sidder med et script, hvor scriptet skriver alt ud via RS.MoveNext. Jeg vil gerne have RS.MoveNext væk fra mit script, så det kun skriver data ud en gang. hvordan gør jeg det?

<% response.buffer = true %>
<font size = '1' face='Verdana'>
<style TYPE="text/css">
a:link { text-decoration: none ; color:#573507 }
a:visited { text-decoration: none ; color:#573507 }
a:active { text-decoration: none ; color: #573507 }
a:hover { text-decoration: underline and overline ; color: #573507 }
</style>
</head>
<body>
<br>

<%

SET rs = Server.CreateObject("ADODB.Connection")
rs.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("users.mdb")
Sql = "Select * FROM stamdata"
set rs = rs.Execute(SQL)

  do while not RS.EOF

Response.Write "<table cellpadding='2' cellspacing='0' >"
Response.Write "<tr>"
Response.Write "<td><strong>Medlem siden</strong></td>"
Response.Write "<td>" & rs("dato")& "</td>"
Response.Write "</tr>"
navn = rs("nick")
id = rs("id")
SET rs2 = Server.CreateObject("ADODB.Connection")
rs2.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("users.mdb")
Sql2 = "Select * FROM users where navn = '" & navn & "'"
set rs2 = rs2.Execute(SQL2)
Response.Write "<center><a href='profil.asp?id=" & id & "&navn=" & navn & "'>Profil</a>"
Response.Write "<a href='guestbook.asp?id=" & id & "&navn=" & navn & "'>Gæstebog</a>"
Response.Write "<a href='blog.asp?id=" & id & "&navn=" & navn & "'>Dagbog</a>"
Response.Write "<a href='maal.asp?id=" & id & "&navn=" & navn & "'>Vægtskema</a></center><p>"
  Response.Write "profil for " & rs("nick")& ""
RS2.Close
set RS2 = nothing
if len(rs("rigtigenavn")) > 0 then
Response.Write "<tr>"
Response.Write "<td><strong>Navn:</strong></td>"
Response.Write "<td>" & rs("rigtigenavn")& "</td>"
Response.Write "</tr>"
else
end if
if len(rs("alder")) > 0 then
Response.Write "<tr>"
Response.Write "<td><strong>Alder:</strong></td>"
Response.Write "<td>" & rs("alder")& " år</td>"
Response.Write "</tr>"
else
end if
Response.Write "<td><strong>Fødselsdag:</strong></td>"
Response.Write "<td>" & rs("fdag")& "</td>"
Response.Write "</tr>"
Response.Write "<tr>"
Response.Write "<td><strong>Køn:</strong></td>"
Response.Write "<td>" & rs("kon")& "</td>"
Response.Write "</tr>"
Response.Write "<tr>"
Response.Write "<td><strong>Landsdel:</strong></td>"
Response.Write "<td>" & rs("land")& "</td>"
Response.Write "</tr>"
Response.Write "<tr>"
Response.Write "<td><strong>Beskæftigelse:</strong></td>"
Response.Write "<td>" & rs("job")& "</td>"
Response.Write "</tr>"
Response.Write "</td></tr></table>"
Response.Write "<table class='box' cellpadding='0' cellspacing='1' style='width:100%'>"
Response.Write "<tr>"
Response.Write "</td></tr></table><p>"
Response.Write "<h1>Profiltekst</h1>"
Response.Write "<table cellpadding='2' cellspacing='0' >"
Response.Write "<tr>"
Response.Write "<td>"
Response.Write "" & rs("profil")& ""
Response.Write "</td></tr></table>"

 
if len(rs("profil")) > 0 then
else
end if
  Response.Write ""
  Response.Write ""

  RS.MoveNext
  loop

  RS.Close
  set RS = nothing

%>
Avatar billede Slettet bruger
16. maj 2007 - 00:38 #1
Hej

Det spørgsmål forstår jeg ikke rigtigt... Vil du kun have at scriptet finder en post i databasen eller hvordan? Og hvilken af dine sql-sætninger er det vi taler om? Og sidst men ikke mindst så behøver du ikke at åbne databasen mere end en gang i scriptet - dette tager kun unødvendige ressourcer...

\Dan
Avatar billede shang Nybegynder
16. maj 2007 - 00:54 #2
jeg vil have mit script til kun at udskrive posten en gang,og ikke som nu hvor den udskriver alle poster i db'en ....
Avatar billede Slettet bruger
16. maj 2007 - 01:07 #3
OK! Jamen er det så ikke noget med at bare at lave denne her:

Sql = "Select * FROM stamdata"

om til:

Sql = "Select top 1 * FROM stamdata"

så viser den kun den første post den finder og dermed kun en...

\Dan
Avatar billede Slettet bruger
16. maj 2007 - 01:15 #4
- men der er da godt nok rod i koden her...
Jeg prøver lige at gøre den lidt mere overskuelig...

<% response.buffer = true %>
<font size = '1' face='Verdana'>
<style TYPE="text/css">
a:link { text-decoration: none ; color:#573507 }
a:visited { text-decoration: none ; color:#573507 }
a:active { text-decoration: none ; color: #573507 }
a:hover { text-decoration: underline and overline ; color: #573507 }
</style>
</head>
<body>
<br>

<%

SET conn = Server.CreateObject("ADODB.Connection")
conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("users.mdb")
set rs = conn.execute("select * from stamdata")
do while not RS.EOF
Response.Write "<table cellpadding='2' cellspacing='0' >"
Response.Write "<tr>"
Response.Write "<td><strong>Medlem siden</strong></td>"
Response.Write "<td>" & rs("dato")& "</td>"
Response.Write "</tr>"
navn = rs("nick")
id = rs("id")

set rs2 = conn.execute("select * from users where navn='" & navn & "'")

Response.Write "<center><a href='profil.asp?id=" & id & "&navn=" & navn & "'>Profil</a>"
Response.Write "<a href='guestbook.asp?id=" & id & "&navn=" & navn & "'>Gæstebog</a>"
Response.Write "<a href='blog.asp?id=" & id & "&navn=" & navn & "'>Dagbog</a>"
Response.Write "<a href='maal.asp?id=" & id & "&navn=" & navn & "'>Vægtskema</a></center><p>"
  Response.Write "profil for " & rs("nick")& ""
rs2.close
set rs2 = nothing
if len(rs("rigtigenavn")) > 0 then
Response.Write "<tr>"
Response.Write "<td><strong>Navn:</strong></td>"
Response.Write "<td>" & rs("rigtigenavn")& "</td>"
Response.Write "</tr>"
else
end if
if len(rs("alder")) > 0 then
Response.Write "<tr>"
Response.Write "<td><strong>Alder:</strong></td>"
Response.Write "<td>" & rs("alder")& " år</td>"
Response.Write "</tr>"
else
end if
Response.Write "<td><strong>Fødselsdag:</strong></td>"
Response.Write "<td>" & rs("fdag")& "</td>"
Response.Write "</tr>"
Response.Write "<tr>"
Response.Write "<td><strong>Køn:</strong></td>"
Response.Write "<td>" & rs("kon")& "</td>"
Response.Write "</tr>"
Response.Write "<tr>"
Response.Write "<td><strong>Landsdel:</strong></td>"
Response.Write "<td>" & rs("land")& "</td>"
Response.Write "</tr>"
Response.Write "<tr>"
Response.Write "<td><strong>Beskæftigelse:</strong></td>"
Response.Write "<td>" & rs("job")& "</td>"
Response.Write "</tr>"
Response.Write "</td></tr></table>"
Response.Write "<table class='box' cellpadding='0' cellspacing='1' style='width:100%'>"
Response.Write "<tr>"
Response.Write "</td></tr></table><p>"
Response.Write "<h1>Profiltekst</h1>"
Response.Write "<table cellpadding='2' cellspacing='0' >"
Response.Write "<tr>"
Response.Write "<td>"
Response.Write "" & rs("profil")& ""
Response.Write "</td></tr></table>"

 
if len(rs("profil")) > 0 then
else
end if
rs.movenext
loop
rs.close
set rs = nothing

conn.close
set conn = nothing

%>

- men hvad bruger du egentlig rs2 til???

\Dan
Avatar billede shang Nybegynder
16. maj 2007 - 01:21 #5
jeg giver op :o(
Avatar billede shang Nybegynder
16. maj 2007 - 01:22 #6
jeg havde ikke lige set dit svar :)
jeg prøver lige dit forslag :)
Avatar billede shang Nybegynder
16. maj 2007 - 01:26 #7
rs2 bruges til at hente navnet på brugeren til profilen. Det burde enlig kunne hentes fra tabellen users, så rs2 ikke behøver at bruges :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester