Avatar billede idiotbarn Nybegynder
17. december 2002 - 20:50 Der er 7 kommentarer og
1 løsning

Fejl i array

Jeg har det her script som jeg har prøvet at kommentere så godt jeg kan. Det er meningen at den skal hente nogen variabler ind fra forskellige form's og sætte dem ind i en database...hvis jeg har 2 valgt (så der kommer 2 numre i arrLinkNy) indsætter den samme værdi 2 gange. Og udskriver jeg insrtSql går den helt galt, for så får jeg:

Insert into Link (Link_Adresse, Link_Navn) Values('http://XXX.dk','Beskrivelse')
Insert into Link (Link_Adresse, Link_Navn) Values('http://XXX.dk','Beskrivelse')
Insert into Link (Link_Adresse, Link_Navn) Values('http://XXX.dk','Beskrivelse')

Altså det samme 3 gange...

Er der nogen der kan se nogen fejl?


'Hent variabler fra en checkbox
'******************************
arrLinkNy = Split(ValgNY,",")
For t = LBound(arrLinkNy) to UBound(arrLinkNy)

'Her hentes formen ved navn Link[tal] tallet svarre til
'variablen i chekboxen
'******************************************
Link_AdresseNy = "Link" & arrLinkNy(t) 
LinkNy = Request.Form(Link_AdresseNy)

'Hvis ikke at formen er tom så:
'******************************
If NOT LinkNy="" Then
Link_NameNy =  "Navn" & arrLinkNy(t)
NameNy = Request.Form(Link_NameNy)   
If NameNy = "" Then
NameNy="None"
End if
'Værdierne indsættes
'**********************
insrtSql = "Insert into Link (Link_Adresse, Link_Navn) Values('" & LinkNy & "','" & NameNy & "')"
End if
Conn.Execute(insrtSql)
'Start forfra med at hente de næste variabler og indsæt dem
'**********************************************************
next
Avatar billede eagleeye Praktikant
17. december 2002 - 21:03 #1
Umiddelbart er det fordi Conn.Execute(insrtSql) står efter end if så hvis et input er tom udføre den sidste insrtSql.. Prøv at flytte Conn.Execute(insrtSql) hen mellem instrSql = "Insert.." og end if. Så conn.execute også kun kaldes når form felterne er udfyldt.


insrtSql = "Insert into Link (Link_Adresse, Link_Navn) Values('" & LinkNy & "','" & NameNy & "')"
Conn.Execute(insrtSql)
End if
Avatar billede idiotbarn Nybegynder
17. december 2002 - 21:28 #2
Det hjalp en hel del...nu er problemet at 2. gang den kommer til at skulle hente noget fra formen, henter den ikke noget...
Avatar billede eagleeye Praktikant
17. december 2002 - 21:33 #3
Hvad er der i  ValgNY ??
Avatar billede idiotbarn Nybegynder
17. december 2002 - 21:37 #4
der er nogen numre som jeg bruger til at identifisere mine forms
Avatar billede eagleeye Praktikant
17. december 2002 - 21:40 #5
Det jeg tænkte var om alle [tal] var med så den kan hendte fra formen...
Har du prøve at udskrive :  arrLinkNy(t)  når du loop igennem `for at se om alle er med?
Avatar billede idiotbarn Nybegynder
17. december 2002 - 21:45 #6
Aha...den kalder den første fx:
Link14
og nummer 2 kalder den
Link 15
Er der en smart måde man kan fjerne mellemrummet eller skal jeg igennem en replace funktion hver gang?
Avatar billede eagleeye Praktikant
17. december 2002 - 21:48 #7
Så skal der en trim ind foran arrLinkNy(t)

Link_AdresseNy = "Link" & trim(arrLinkNy(t))
Avatar billede idiotbarn Nybegynder
17. december 2002 - 21:58 #8
Fedt...tak skal du ha
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