Avatar billede hemberg Forsker
12. august 2005 - 20:32 Der er 14 kommentarer og
1 løsning

Recordset i tabeller.

Halløj i stuen.

Er lige rent ind i et problem som jeg ikke kan løse selv:

Jeg har fx: en ganske almindelig tabel:

<tabel><tr><td>RS(FØRSTE DATO)</td><td>RS("ANDEN DATO")</td></tr><tr><td>RS(FØRSTE NAVN)</td><td>(ANDEN NAVN)</td></tr></Tabel>

Hvordan løses denne opgave. Jeg kan jo ikke bruge den sædvanlige RS.Movenext kommando da den jo vil gå et helt recordset frem. Kan ikke lige gennemskue en simple måde at løse dette problem på. Kan nogen hjælpe ???

På forhånd Tak !
Avatar billede softspot Forsker
12. august 2005 - 20:48 #1
Jeg vil da foreslå caching af værdier for 2 rækker af gangen. Så kan du lave din tabel som i dit eksempel ved brug af de variabler du har cached.
Avatar billede busschou Praktikant
12. august 2005 - 22:35 #2
ja gemme dem midlertidigt som softspot foreslår
Ellers kan du i stedet for at benytte din connection så lave et recordset
Jeg kan ikke lige huske cursoren og låsen i hovedet
Men sættes cursoren som dynamisk har du jo mulighed for at lave en rs.moveprevious
Derved kan du både gå frem og tilbage i dit recordset :o)
Avatar billede softspot Forsker
12. august 2005 - 22:44 #3
Dynamiske recordsets er da en mulighed, men det er bare en dyr måde at arbejde med data på - det skalerer ikke særlig godt. Hvis man har andre muligheder bør de nok overvejes først...
Avatar billede busschou Praktikant
12. august 2005 - 22:46 #4
det er muligt, aner jeg intet om, ville bare nævne muligheden :o)
Avatar billede softspot Forsker
12. august 2005 - 22:50 #5
Klart! Og som jeg tidligere har sagt til dig her på E, så er alle muligheder interessante at få nævnt, så man kan tage stilling til hvad der er bedst i den givne situation :)
Avatar billede hemberg Forsker
12. august 2005 - 23:23 #6
Hmmm. Har søgt lidt.... Er der en der kan gå lidt dybere. Altså det med cashen
Avatar billede busschou Praktikant
12. august 2005 - 23:26 #7
cachen menes vel bare at gemme det i en temp
--
do while not rs.eof
  tmp1 = rs("val1")
  rs.movenext
  tmp2 = rs("val2")
  //lav noget med de to værdier
  rs.movenext
loop
Avatar billede softspot Forsker
12. august 2005 - 23:28 #8
Der skal nok lige checkes på rs.eof efter det første rs.movenext :)

do while not rs.eof
  tmp1 = rs("val1")
  rs.movenext

  if not rs.eof then
    tmp2 = rs("val2")
    rs.movenext
  else
    tmp2 = ""
  end if

  //lav noget med de to værdier

loop
Avatar billede busschou Praktikant
12. august 2005 - 23:28 #9
hmm du kan jo nøjes med kun gemme den første
--
<table>
<%
do while not rs.eof
  dato1 = rs("dato")
  navn1 = rs("navn")
  rs.movenext
%>
<tr><td><%=dato1%></td><td><%=rs("dato")%></td></tr>
<tr><td><%=navn1%></td><td><%=rs("navn")%></td></tr>
<%
  rs.movenext
loop
%>
</table>
Avatar billede busschou Praktikant
12. august 2005 - 23:29 #10
softspot >> jeps det er klart, ellers kan der gå ged i det ja
Avatar billede hemberg Forsker
13. august 2005 - 00:03 #11
Jamen er det ikke bare det man kunne kalde en streng ??? Og næste spørgsmål vil så være. Hvad nu hvis antallet i DB er ulige. Så vil maskineriet da brokke sig ...
Avatar billede softspot Forsker
13. august 2005 - 00:12 #12
Jeps, men det er så der min forrige kommentar bliver relevant, altså det der med at checke for eof imellem de to movenext...
Avatar billede hemberg Forsker
13. august 2005 - 00:54 #13
Jep... Jeg tester lige.... Men først i morgen....
Avatar billede hemberg Forsker
13. august 2005 - 19:37 #14
OK..... Det virkder perfekt........ Læg lige et svar softspot
Avatar billede softspot Forsker
13. august 2005 - 22:38 #15
Super! :)
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