Avatar billede etlekana Nybegynder
18. juli 2000 - 22:07 Der er 13 kommentarer og
1 løsning

Dynamisk Request.form(rs("id")) HJÆLP

Jeg har problemer, for jeg skal lave en dynamisk Request.form(rs("id")) hvor den tjekker alle de id numre igennem som den henter fra en database, da siden med formen også er lavet dynamisk med felt navne der hedder idnummeret, og hvor der så er mulighed for at udfylde tjekbox, så bliver værdien ja, og så hvis folk har tjekke boxen af så skal den oprette et nyt felt i en database til folk. Og Den melder fejl i arrayet med det jeg har lavet her! :


        Set rs = Server.CreateObject("ADODB.RecordSet")
        katnavne = "SELECT * FROM [tblkatnavne];"
        set rs = Conn.Execute(katnavne)
        If not rs.eof then
        Do While Not rs.EOF
        response.write rs("id") & "<Br>"
        x = rs("id")
        response.write Request.form(rs("id"))
        rs.MoveNext
        Loop
        end if


Der melder den denne fejl

An array index is out of range.

Dette er linje 77
response.write request.form(rs("id"))

Hvis nogen ved hvordan jeg skal rette det, eller har en smartere måde at lave det på så vil jeg blive vildt glad og ud over pointene så står der 2 1½ liter coca cola på spil :o)
Mvh Thomas

Icq 6729372
Avatar billede etlekana Nybegynder
18. juli 2000 - 22:08 #1
Ups der skulle have stået

At det var i denne linje at den meldte fejl til

Dette er linje 77
response.write request.form(rs("id"))

Avatar billede phylox2 Nybegynder
18. juli 2000 - 22:13 #2
Jeg syntes ikke helt jeg er med på, hvad du skal bruge en response.write request.form(rs("id")) til ?

Hvad skal den skrive ?
Avatar billede etlekana Nybegynder
18. juli 2000 - 22:26 #3
Den skal skrive værdien for request.form(rs("id") !!!

Altså så den kun tager alle de numre som er i databasen og tjekker det.

har du icq?

Thomas
Avatar billede lthrane Nybegynder
19. juli 2000 - 08:15 #4
Jeg forstår heller ikke. Har du en form hvori der ligger et rs ????

I øvrigt, hvis du kun skal bruge id fra din tabel, bør du nøjes med at hente den - altså SELECT id... i stedet for SELECT *
Avatar billede flipover Nybegynder
19. juli 2000 - 08:46 #5
bare en idè...men når du nu sætter x = rs("id")...så kunne du jo prøve at skrive...

response.write request.form(x)

det burde jo give det samme....
Avatar billede etlekana Nybegynder
19. juli 2000 - 10:16 #6
Flipover jeg har prøvet at gøre det samme som du mener flipover, det kommer med den samme fejl :o( Så det hjælper ikke så meget.

Lthrane, det er alle jeg skal have derfra.

Forestil dig at min form er lavet ud fra et RS, hvor den henter alle id'erne og navne felterne fra en db, fordi at man skal kan tilføje og fjerne menu punkter på tilføjelses siden. Og siden der tjekker det skal så selvfølgelig have tjek af de samme id felter og det kan jeg kun gøre ved at tjekke fra databasen så vidte jeg ved.

Mvh Thomas
Avatar billede jpk Nybegynder
19. juli 2000 - 10:17 #7
Du skriver, at formen er oprettet dynamisk med feltnavne der hedder idnummeret, men id'et i din DB er jo et tal (hvis jeg har forstået ret), mens formfelternes navne er tekststrenge! Så når du forsøger følgende:
Request.form(rs("id"))
vil rs("id") returnere et tal, således:
Request.form([tal])
Måske går det galt? Har du i stedet prøvet med:
Request.form(CStr(rs("id")))
Således, at det bliver konverteret til en streng først?

En anden lille ting:
Du behøver ikke teste med en if-sætning først "If not rs.eof then", da sætningen "Do While Not rs.EOF" jo også tester på, om EOF er true!
       
Jacob
Avatar billede flipover Nybegynder
19. juli 2000 - 10:21 #8
hvis du for en fejmeddelse vedr. Array is out of index....hvor er det lige du har noget med et array at gøre???...måske lidt mere kode vil hjælpe...
*selv i yoga-stilling og med masser af røgelse ..har jeg sq stadig lidt svært ved at forestille mig eksakt hva du vil opnå..*sorry*

Avatar billede lthrane Nybegynder
19. juli 2000 - 10:30 #9
Men etlekana - den rs du åbner for at generere din forms indhold lever vel ikke længere end til IIS har været gennem scriptet og genereret en response til klienten ?
Hvis man tilgår din .asp side vil man i browseren (vis kilde) vel IKKE kunne læse noget om rs nogen steder. Så kan man heller ikke referere til den fra efterfølgende .asp sider, men skal i stedet referere til inputfelternes navne (som måske består af tal i dit tilfælde), som jpk skriver i sit indlæg.

lthrane
Avatar billede etlekana Nybegynder
19. juli 2000 - 10:32 #10
JPK :o)

Du er min frelse mand :o)

Send din adresse til mig på min email så får jeg lige bragt 2 * 1½ liter Coca-Cola ud til dig hvis du er interesseret :o)

Mvh Thomas
Avatar billede etlekana Nybegynder
19. juli 2000 - 10:33 #11
Desuden skal du også lige poste det som et svar før at jeg kan give dig point for det :o)
Avatar billede jpk Nybegynder
19. juli 2000 - 10:39 #12
Ok, her er det!

Du skriver, at formen er oprettet dynamisk med feltnavne der hedder idnummeret, men id'et i din DB er jo et tal (hvis jeg har forstået ret), mens formfelternes navne er tekststrenge! Så når du forsøger følgende:
Request.form(rs("id"))
vil rs("id") returnere et tal, således:
Request.form([tal])
Måske går det galt? Har du i stedet prøvet med:
Request.form(CStr(rs("id")))
Således, at det bliver konverteret til en streng først?

En anden lille ting:
Du behøver ikke teste med en if-sætning først "If not rs.eof then", da sætningen "Do While Not rs.EOF" jo også tester på, om EOF er true!
       
Jacob
Avatar billede etlekana Nybegynder
19. juli 2000 - 10:41 #13
lthrane!

Det fungerer fint nu!

Så det er ikke noget problem!

Html filen kommer form felterne jo til at hedde navn 1 2 3 osv... og det samme sætter den værdierne ind i tjek siden.!!!

Mvh Thomas
Avatar billede etlekana Nybegynder
19. juli 2000 - 10:43 #14
Ups :o)

Jacob :o) Her er min email :o)

etlekana@mailme.dk

Mvh Thomas
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