/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Problemer med array/for... next
Fra : Belial


Dato : 21-02-05 16:56

Jeg har en side, hvor man kan vælge x antal brancher, som en given post skal
oprettes i. Har man valgt 3 brancher skal posten derfor oprettes 3 gange.
Problemet er, at posten lige nu kun bliver indsat 1 gang og med alle de
valgte brancher i ét felt.

Min kode ser således ud:

arrBranche = request.form("branche")
response.write arrBranche & "<br>"
' Læg svaret i et array
arrBranche = split(arrBranche ,",")
' Læs fra array med en løkke
for ix = 0 to ubound(arrBranche)
' Her tilføjer du en ny post

sql = "INSERT INTO .... (her kommer sql sætningen)

Connect.Execute(sql)

next


Er der nogen der kan se, hvor den går galt?



 
 
Carsten Pedersen (21-02-2005)
Kommentar
Fra : Carsten Pedersen


Dato : 21-02-05 17:16


"Belial" <666_NOSPAM@esenet.dk> skrev i en meddelelse
news:421a0482$0$48683$edfadb0f@dread15.news.tele.dk...
> Jeg har en side, hvor man kan vælge x antal brancher, som en given post
> skal oprettes i. Har man valgt 3 brancher skal posten derfor oprettes 3
> gange. Problemet er, at posten lige nu kun bliver indsat 1 gang og med
> alle de valgte brancher i ét felt.
>
> Min kode ser således ud:
>
> arrBranche = request.form("branche")
> response.write arrBranche & "<br>"
> ' Læg svaret i et array
> arrBranche = split(arrBranche ,",")
> ' Læs fra array med en løkke
> for ix = 0 to ubound(arrBranche)
> ' Her tilføjer du en ny post
>
> sql = "INSERT INTO .... (her kommer sql sætningen)
>
> Connect.Execute(sql)
>
> next
>
>
> Er der nogen der kan se, hvor den går galt?

Det er svært at svare på ud fra de givne oplysninger. Hvordan ser din
SQL-sætning ud udskrevet?


--
Mvh


C@rsten



Belial (21-02-2005)
Kommentar
Fra : Belial


Dato : 21-02-05 17:49


>> Er der nogen der kan se, hvor den går galt?
>
> Det er svært at svare på ud fra de givne oplysninger. Hvordan ser din
> SQL-sætning ud udskrevet?

Det er som jeg ser det ikke min SQL sætning, der er problemer med, for den
indsætter det hele som den skal. Problemet er som nævnt, at det hele bliver
indsat én gang i databasen i stedet for 1 gang pr. branche man har valgt.
Har man f.eks. valgt 3 brancher så skal den indsætte posten 3 gange. Derfor
mener jeg at problemet er i for... next løkken, men jeg kan bare ikke se
hvor?



NoMoreSpam (21-02-2005)
Kommentar
Fra : NoMoreSpam


Dato : 21-02-05 19:08

> > Jeg har en side, hvor man kan vælge x antal brancher, som en given post
> > skal oprettes i. Har man valgt 3 brancher skal posten derfor oprettes 3
> > gange. Problemet er, at posten lige nu kun bliver indsat 1 gang og med
> > alle de valgte brancher i ét felt.
> >
> > Min kode ser således ud:
> >
> > arrBranche = request.form("branche")
> > response.write arrBranche & "<br>"
> > ' Læg svaret i et array
> > arrBranche = split(arrBranche ,",")
> > ' Læs fra array med en løkke
> > for ix = 0 to ubound(arrBranche)
> > ' Her tilføjer du en ny post
> >
> > sql = "INSERT INTO .... (her kommer sql sætningen)
> >
> > Connect.Execute(sql)
> >
> > next
> >
> >
> > Er der nogen der kan se, hvor den går galt?

Du kunne jo prøve at udskrive hvad der står i arrayet

for ix = 0 to ubound(arrBranche)
response.write "Nr " & iX & " indhold " & arrBranche(ix) & "<br>"
next

Jeg mener at første linie skal være: for ix = 0 to ubound(arrBranche)-1
men det kan du se når du gennemløber arrayet.

--
Med venlig hilsen
Tom Jensen

Læs mere om databaser og asp her:
http://www.FFSoft.dk



Belial (21-02-2005)
Kommentar
Fra : Belial


Dato : 21-02-05 19:40

> Jeg mener at første linie skal være: for ix = 0 to ubound(arrBranche)-1
> men det kan du se når du gennemløber arrayet.

Ved at gøre dette virker faktisk nogenlunde som det skal. I hvert fald
indsætter den nu det antal gange, som man har valgt brancher. Problemet er
bare at den indsætter f.eks. "butik, hotel, restaurant" i branchefeltet, i
stedet for kun at indsætte brancherne en ad gangen. Nogen idé om hvor
problemet ligger? Sætningen er lige her igen:

arrBranche = request.form("branche")
response.write arrBranche & "<br>"
' Læg svaret i et array
arrBranche = split(arrBranche ,",")
' Læs fra array med en løkke

for ix = 0 to ubound(arrBranche)-1

SQL = "INSERT INTO erhvervsregister( branche, virksomhed, adresse,
tlf, fax, url, email, kommentar_dk, kommentar_de, kommentar_gb) VALUES('"
SQL = SQL & Request.Form("branche") & "', '"
SQL = SQL & Replace(Request.Form("virksomhed"),"'","''") & "', '"
SQL = SQL & Replace(Request.Form("adresse"),"'","''") & "', "
SQL = SQL & Request.Form("tlf") & ", "
SQL = SQL & Request.Form("fax") & ", '"
SQL = SQL & Replace(Request.Form("url"),"'","''") & "', '"
SQL = SQL & Replace(Request.Form("email"),"'","''") & "', '"
SQL = SQL & Replace(Request.Form("kommentar_dk"),"'","''") & "',
'"
SQL = SQL & Replace(Request.Form("kommentar_de"),"'","''") & "',
'"
SQL = SQL & Replace(Request.Form("kommentar_gb"),"'","''") & "')"

Connect.Execute(sql)

next



Jon Klose Larsen (21-02-2005)
Kommentar
Fra : Jon Klose Larsen


Dato : 21-02-05 20:08

>
> Problemet er
> bare at den indsætter f.eks. "butik, hotel, restaurant" i branchefeltet, i
> stedet for kun at indsætte brancherne en ad gangen. Nogen idé om hvor
> problemet ligger? Sætningen er lige her igen:
>
> arrBranche = request.form("branche")
> response.write arrBranche & "<br>"
> ' Læg svaret i et array
> arrBranche = split(arrBranche ,",")
> ' Læs fra array med en løkke
>
> for ix = 0 to ubound(arrBranche)-1
>
> SQL = "INSERT INTO erhvervsregister( branche, virksomhed, adresse,
> tlf, fax, url, email, kommentar_dk, kommentar_de, kommentar_gb) VALUES('"
> SQL = SQL & Request.Form("branche") & "', '"

Skal der ikke stå:
SQL = SQL & arrBranche(ix) & "', '"

Så tror jeg du får det som du ønsker.

Jon



Belial (21-02-2005)
Kommentar
Fra : Belial


Dato : 21-02-05 21:04

> Skal der ikke stå:
> SQL = SQL & arrBranche(ix) & "', '"

Jo sgu! Jeg fjernede også "-1" i linien "for ix = 0 to ubound(arrBranche)-1"
og nu virker det bortset fra en lille detalje: Efter den har kørt løkken
igennem 1 gang sætter den ved de efterfølgende et mellemrum ind foran
branchenavnet, således at det ikke virker hensigtsmæssigt. Skal man f.eks.
indsætte 4 brancher, så er det kun den første af dem, som står normalt og
uden et mellemrum foran. Hvordan får jeg elimeneret det ene mellemrum?



Belial (21-02-2005)
Kommentar
Fra : Belial


Dato : 21-02-05 21:22


"Belial" <666_NOSPAM@esenet.dk> skrev i en meddelelse
news:421a3ebf$0$48642$edfadb0f@dread15.news.tele.dk...
>> Skal der ikke stå:
>> SQL = SQL & arrBranche(ix) & "', '"
>
> Jo sgu! Jeg fjernede også "-1" i linien "for ix = 0 to
> ubound(arrBranche)-1" og nu virker det bortset fra en lille detalje: Efter
> den har kørt løkken igennem 1 gang sætter den ved de efterfølgende et
> mellemrum ind foran branchenavnet, således at det ikke virker
> hensigtsmæssigt. Skal man f.eks. indsætte 4 brancher, så er det kun den
> første af dem, som står normalt og uden et mellemrum foran. Hvordan får
> jeg elimeneret det ene mellemrum?

Jeg har midlertidigt løst problemet ved at tilføjet et trim, så der i min
SQL sætning står "trim(arrBranche(ix))", og det virker fint, men kan du
alligevel se, hvordan jeg kommer problemet helt til livs? Vil meget gerne
have det overflødige mellemrum elimeneret.



Jon Klose Larsen (21-02-2005)
Kommentar
Fra : Jon Klose Larsen


Dato : 21-02-05 22:45


"Belial" <666_NOSPAM@esenet.dk> skrev i en meddelelse
news:421a42d3$0$48731$edfadb0f@dread15.news.tele.dk...
>
> "Belial" <666_NOSPAM@esenet.dk> skrev i en meddelelse
> news:421a3ebf$0$48642$edfadb0f@dread15.news.tele.dk...
> >> Skal der ikke stå:
> >> SQL = SQL & arrBranche(ix) & "', '"
> >
> > Jo sgu! Jeg fjernede også "-1" i linien "for ix = 0 to
> > ubound(arrBranche)-1" og nu virker det bortset fra en lille detalje:
Efter
> > den har kørt løkken igennem 1 gang sætter den ved de efterfølgende et
> > mellemrum ind foran branchenavnet, således at det ikke virker
> > hensigtsmæssigt. Skal man f.eks. indsætte 4 brancher, så er det kun den
> > første af dem, som står normalt og uden et mellemrum foran. Hvordan får
> > jeg elimeneret det ene mellemrum?
>
> Jeg har midlertidigt løst problemet ved at tilføjet et trim, så der i min
> SQL sætning står "trim(arrBranche(ix))", og det virker fint, men kan du
> alligevel se, hvordan jeg kommer problemet helt til livs? Vil meget gerne
> have det overflødige mellemrum elimeneret.

Så må du lade være med at skrive det i listen med brancher....
Klip fra tidligere indlæg: f.eks. "butik, hotel, restaurant"

Den eneste anden måde jeg kender, har du jo selv fundet (trim).

Jon



belial (22-02-2005)
Kommentar
Fra : belial


Dato : 22-02-05 09:29


> Den eneste anden måde jeg kender, har du jo selv fundet (trim).

Okay. Metoden virker jo også fint, så det går nok. Ville bare gerne have
fundet ud af hvorfor den indsatte det ekstra mellemrum. Men tak for
hjælpen


Søg
Reklame
Statistik
Spørgsmål : 177548
Tips : 31968
Nyheder : 719565
Indlæg : 6408803
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste