Avatar billede karsten_larsen Praktikant
30. april 2003 - 19:03 Der er 9 kommentarer og
1 løsning

Tekst med i Execute funktion?

Hvorfor kan jeg ikke få tekst med i variabel navn+j. Tabel data er tekst for navn og tal for rolle.

For j=1 to antal
  Execute("navn" & j & "= " & rs("person") )
  Execute("rolle" & j & "= cStr(""" & rs("rolle") & """)")

  Response.Write "Navn =  " & navn + j & "  Rolle = " & rolle + j & "<br>"
Next

?:-) k_l
Avatar billede karsten_larsen Praktikant
30. april 2003 - 19:04 #1
Glemte at skrive at navn+j kommer ud som tal og ikke tekst!
k_l
Avatar billede hintzmann Nybegynder
30. april 2003 - 19:24 #2
Hvorfor vil du bruge execute ?
Din kode kan også skrives sådan her:
For j=1 to antal
  Response.Write "Navn =  " & rs("person") & "  Rolle = " & rs("rolle") & "<br />"
Next
Avatar billede karsten_larsen Praktikant
30. april 2003 - 23:27 #3
-> hintzmann

Det er rigtig nok det du skriver, men jeg skal kunne arbejde med faste variable, som skal gennem en funktion. Derfor har jeg behov for at få skabt nogle faste variable.

:-) karsten_larsen
Avatar billede edutasia Nybegynder
01. maj 2003 - 07:36 #4
Din funktion bygger først en række variabelerklæringer, som når de udføres ser sådan ud:

navn1 = x
rolle1 = "rolle"
navn2 = y
rolle2 = "rolle"

Dernæst forsøger den at udskrive "navn" + j, men "navn" er = null, da den slet ikke findes - der findes kun "navn1", "navn2" osv. Derfor bliver "navn" + j altid = j.

Med andre ord: Dine variabler bliver godt nok oprettet, men du henviser ikke til dem i din Response.Write...

Vær i øvrigt opmærksom på, at du også skal have "" omkring navn i din Execute-sætning for at erklære den som en streng.

Linien:

  Execute("navn" & j & "= " & rs("person") )

Skal altså udskiftes med:

  Execute("navn" & j & " = """ & rs("person") & """")
Avatar billede karsten_larsen Praktikant
01. maj 2003 - 08:00 #5
-> edutasia

Jeg kan godt se at jeg ikke får mine variable med Response sætningen.Det fik mig til at se jeg er startet det forkerte sted.

Min tabel ser sådan ud:
person | rolle
anna    1
birthe    2
cirkeline  3
dorthe      4

Det skulle blive til variable som ser sådan ud
navn1 = anna
rolle1 = 1
navn2 = birthe
rolle2 = 2

etc.

:-) karsten_larsen
Avatar billede edutasia Nybegynder
01. maj 2003 - 08:20 #6
Det kan du opnå med følgende:

Dim strToExec
For j=1 to antal
  strToExec = "navn" & j & " = """ & rs("person") & """"
  Execute(strToExec)
  strToExec = "rolle" & j & " = " & rs("rolle")
  Execute(strToExec)
Next


Så får du navn1, navn2 etc. erklæret som strenge og rolle1, rolle2 etc. erklæret som heltal, og du kan herefter henvise til variablerne ved hjælp af sætninger som:

Response.Write "Navn: " & navn1 & "<br>Rolle: " & rolle1 & "<br>"
Avatar billede karsten_larsen Praktikant
01. maj 2003 - 08:35 #7
Okay nu er det ved at virke - jeg tilføjede en connection

Dim strToExec
For j=1 to antal
    strSQL = "SELECT * FROM resultat3 WHERE nummer=" & j
    Set rs = Conn.Execute(strSQL)
  strToExec = "navn" & j & " = """ & rs("person") & """"
  Execute(strToExec)
  strToExec = "rolle" & j & " = " & rs("rolle")
  Execute(strToExec)
Next

Jeg ved ikke om det er overkill, men det virker nu. Det kan sikkert laves mere smart.

Edutasia vil du lave et svar og tak for hjælpen. Du skrev tidligere at jeg ikke fik min værdier med i response sætnin - jeg opretter et nyt spørgsmål til det.

tak for hjælpen

:-) karsten_larsen
Avatar billede edutasia Nybegynder
01. maj 2003 - 08:44 #8
Selv tak :)
Avatar billede hintzmann Nybegynder
01. maj 2003 - 08:48 #9
Du burde overveje at bruge et array i stedet for faste variabler,
da execute tager meget på performance.
Og så prøve at lave din funktion med en lav kobling, så den ikke er så afhænging af at få variabler med forskellige navne.

Bare en ide :-)
Avatar billede karsten_larsen Praktikant
01. maj 2003 - 09:43 #10
-> hintzmann

Det vil jeg da prøve på senere - indtil videre har jeg ikke den store erfaring med arrays.

:-) karsten_larsen
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