Avatar billede agerled Nybegynder
09. juni 2004 - 10:31 Der er 7 kommentarer og
1 løsning

hente valgte kolonner dynamisk via en function

Hej. jeg vil lige høre om følgende kan lade sig gøre.

Jeg har en tabel i min DB som jeg henter data fra på mange forskellige sider. det er dog ikke alle sider der viser de samme kolonner. Er det på en eller anden måde muligt at lave en fuction hvor man indtaster sin select statement og hvilke kolonner man skal bruge??

f.eks.:

Call Myfunction(kolonne1,kolonne2,kolonne5,select * from tabel)

eller noget i den stil???
Avatar billede fennec Nybegynder
09. juni 2004 - 10:35 #1
function Myfunction(kolonner)
Myfunction = conn.execute("select "& kolonner &" from MyTable")
end function

set rs = Myfunction("kolonne1,kolonne2,kolonne5")
Avatar billede agerled Nybegynder
09. juni 2004 - 10:39 #2
ok, men hvad så når jeg også skal udskrive dataene dynamisk på samme måde?
Avatar billede fennec Nybegynder
09. juni 2004 - 10:45 #3
Ahhh. Så tror jeg, at jeg er med på hvad du vil....

function Myfunction(kolonner,SQL)
set rs = conn.execute(SQL)
myKoll = split(kolonner,",")
do while not rs.eof
  for f=lbound(myKoll) to ubound(myKoll
    response.write rs(myKoll(f))
  next
  rs.MoveNext
loop
end function

Call Myfunction("kolonne1,kolonne2,kolonne5","select * from tabel")
Avatar billede fennec Nybegynder
09. juni 2004 - 10:48 #4
også for at det står lidt pænere:

function Myfunction(kolonner,SQL)
set rs = conn.execute(SQL)
myKoll = split(kolonner,",")
response.write "<table>"
do while not rs.eof
  response.write "<tr>"
  for f=lbound(myKoll) to ubound(myKoll
    response.write "<td>"& rs(myKoll(f)) &"</td>"
  next
  response.write "</tr>"
  rs.MoveNext
loop
response.write "</table>"
end function
Avatar billede agerled Nybegynder
09. juni 2004 - 10:53 #5
ser godt ud. jeg kigger lige på det..
Avatar billede agerled Nybegynder
09. juni 2004 - 12:25 #6
det virker skide godt. Har dog lige et sidste spørgsmål. Er det muligt at lave en overskrift til hver kolonne jeg udskriver. Hvis jeg nu vil vise et andet navn en det kolonnen oprindelig hedder....??

Hvis nu f.eks orderne i parentes er overskrifterne...??

Call Myfunction("kolonne1(navn),kolonne2(efternavn),kolonne5(alder)","select * from tabel")
Avatar billede fennec Nybegynder
09. juni 2004 - 12:30 #7
no prob :o)

function Myfunction(overskrift,kolonner,SQL)
set rs = conn.execute(SQL)
myKoll = split(kolonner,",")
myOver = split(overskrift,",")
response.write "<table>"
  response.write "<tr>"
  for f=lbound(myOver) to ubound(myOver
    response.write "<td>"& myOver(f) &"</td>"
  next
  response.write "</tr>"
do while not rs.eof
  response.write "<tr>"
  for f=lbound(myKoll) to ubound(myKoll
    response.write "<td>"& rs(myKoll(f)) &"</td>"
  next
  response.write "</tr>"
  rs.MoveNext
loop
response.write "</table>"
end function

Call Myfunction("Navn,Efternavn,Alder","kolonne1,kolonne2,kolonne5","select * from tabel")
Avatar billede agerled Nybegynder
09. juni 2004 - 13:08 #8
det er helt kanon. mange tak!
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

Seneste spørgsmål Seneste aktivitet
I dag 10:21 Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging