Avatar billede hairball Nybegynder
04. maj 2001 - 11:21 Der er 19 kommentarer

GetRows

Hvad er den generelle holdning til at bruge GetRows i forbindelse med at hente data fra en SQL7.0 kontra denne måde :
DO WHILE NOT Rs.EOF
    Response.write(\"data\")
  Rs.MOVENEXT
LOOP

?

Avatar billede slash Nybegynder
04. maj 2001 - 11:23 #1
getrows er kanonhurtig... lettere at anvende end recordsets...

Avatar billede slash Nybegynder
04. maj 2001 - 11:24 #2
jeg bruger det selv sammen med sql 7.0 på et tæmmelig væmmelig stort site
Avatar billede nil.dk Nybegynder
04. maj 2001 - 11:25 #3
Er der nogen der kan forklare forskellen rent teknisk?
Avatar billede slash Nybegynder
04. maj 2001 - 11:26 #4
når du anvender getrows, så smider du data over i et array... og rs er vel et recordset???
Avatar billede hairball Nybegynder
04. maj 2001 - 11:28 #5
Slash, hvorfor er det nemmere at bruge, det er da besværligt at man skal arbejde med felterne via numre eller konstanter ?
Avatar billede weje Nybegynder
04. maj 2001 - 11:29 #6
Er der nogen der kan komme med et eksempel?

Weje
Avatar billede slash Nybegynder
04. maj 2001 - 11:31 #7
smag og behag... dette ser nu let ud :-(=)

sql = \"select id, navn, text from T_Table order by id desc\"

set res = conn.execute(sql)
n = res.eof
if n >=0 then
  a = res.getrows()
  res.close
  for row=lbound(a,2) to ubound(a,2)
      response.write a(0,row) \'id = a(0,row)
      response.write a(1,row) \'navn = a(1,row)
      response.write a(2,row) \'text = a(2,row)
  next
else
  Response.write \"Fejl\"
end if
Avatar billede hairball Nybegynder
04. maj 2001 - 12:02 #8
Det er da lamt at skulle kommentere hvad feltet hedder hver gang for at kunne finde rundt i sin kode
Avatar billede slash Nybegynder
04. maj 2001 - 12:05 #9
så så.... grunden til at jeg kommenterede var følgende, som du kan gøre istedet, hvilket forøvrigt øger overskueligheden i koden, vil jeg da mene!

for row=lbound(a,2) to ubound(a,2)
    id = a(0,row)
    navn = a(1,row)
    text = a(2,row)
next
Avatar billede slash Nybegynder
04. maj 2001 - 12:10 #10
getrows() har jeg fundet specielt anvendelig hvor jeg arbejder med store datamængder, f.eks. ved søgninger etc. --> der har getrows() været med til at forbedre performance på udtrækkene med 40-60%! Og det er jo ikke så tosset - vel?

Men, generelt anvender jeg selv getrows til mange ting... men anvender skam også standardskod recordsets til mange ting!
Avatar billede hairball Nybegynder
04. maj 2001 - 12:11 #11
Så er du jo nede og skrive til en variabel for hver post - det er da ikke effektivt ?
Avatar billede slash Nybegynder
04. maj 2001 - 12:13 #12
at vurdere tidskompleksiteten ved getrows / recordsets lader jeg en professor i matematik om! Hos mig er det hurtigere end std. rs\'er og det er vel hovedsagen - ikke? Vil du have en langsom side som brugeren skrotter - oder was????
Avatar billede hairball Nybegynder
04. maj 2001 - 12:15 #13
Naturligvis ikke - men det skal jo også måles i hvor længe du bruger på at udvikle din sider og vedligeholde dem - og den måde man bruger getrows på indholder en del mere kode.
Avatar billede slash Nybegynder
04. maj 2001 - 12:16 #14
måske - det kommer an på hvor elegant du kan kode ;-)
Avatar billede hairball Nybegynder
04. maj 2001 - 12:20 #15
Har du en email jeg kan skrive til dig på (slash) ?
Avatar billede slash Nybegynder
04. maj 2001 - 12:25 #16
jæp.....  _coma@ofir.dk  (husk underscore foran coma)

Avatar billede hairball Nybegynder
04. maj 2001 - 13:25 #17
Læser du ikke din mail ?
Avatar billede slash Nybegynder
04. maj 2001 - 13:26 #18
fuck - det har jeg sgu glemt.... tjekker med det samme
Avatar billede was_ricardo Nybegynder
05. maj 2001 - 14:40 #19
GetRows er helt klart en god metode. Man kan lukke sit recordset og bruge værdiene gang på gang i den pågældende page - næsten \"gratis\". Hvis din DB er det langsomme led, så kan du får en klar forbedring i performance. Man skal dog pas på med at lave \"string concatenation\" i nested loops, da det koster...

Med lidt snilde kan man bygge en generisk funktion der spytter resulatet ud, så din kode bliver lettere at vedligeholde.

>> if n >=0 then

Du kan bruge

>> if not n then

i stedet for.
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