14. marts 2001 - 12:57Der er
19 kommentarer og 2 løsninger
Recordset inde i recordset?
Hvordan opretter man et recordset inde i et recordset?
jeg har følgende til at lave mit \"overordnede\" recordset: ----- set RS = Server.CreateObject(\"ADODB.Recordset\") RS.Fields.Append \"navn\", 129, 255 \'129 = adChar RS.Open RS.AddNew RS(\"navn\") = \"Blah blah\" RS.Update ----- Nu vil jeg så gerne have tilføjet et \"felt\" ligestillet med RS(\"navn\") hvor jeg kan smide et recordset ind i.
Jeg havde forestillet mig noget ala: RS(\"ekstraRecordSet\") = Server.CreateObject(\"ADODB.Recordset\") og så ligge variabler ind via RS(\"ekstraRecordSet\")(\"feltINytRecordset\") = \"blah\"
men jæ ka æt hit uv a\'et som Polle siger i sonofon-reklamerne... nogen der har nogle gode ideer?
Hey ellebaek. Hvis du ikke fatter, hvad han skriver, så kan du jo bare blande dig udenom. Sværere er det ikke.
Synes godt om
Slettet bruger
14. marts 2001 - 13:53#4
Med fare for at det lyder som om, jeg blander mig bare for at blande mig, så vil jeg lige give lytzen ret. Men hvis du (ellebaek) gerne vil svare på spørgsmålet, men ikke er sikker på, hvad det betyder, så kan du jo bare have spurgt netrnger på en lidt pænere måde. Eller det er måske en tand for svært?
>>lytzen jeg tror godt jeg kan finde ud af hvad det er han vil have lavet, og hvis det nu var tilfældet at jeg forstod hvad det var der stod, ville der nok være c´hance for at jeg kunne svare ham på hvad han vil vide... og btw ... tak i lige måde
goddess >> alle ved hvad: \"jeg fatter nada af hvad du vil\" betyder ... det er en fin nok måde at skrive det på, og det er ikke for svært at sige ... forklar bedre .. med det har samme betydning...
hey slap nu af - i lyder som en børnehave... Hvis ikke i har noget brugbart at sige til debatten, så fis lige af, og lad de seriøse folk komme til...
ellebaek: hvad er det du ikke forstår? for jeg vil gerne prøve at udpensle det lidt hvis du mener du har en løsning til det. Men altså det korte af det lange er at jeg vil have et recordset inde i et recordset (som jeg selv har kreeret, og ikke er lavet fra databasen)
netsrac: fuldstændig korrekt - det er det jeg prøver. At lave en attribut i mit recordset som har datatypen som et recordset istedet for f.eks. string eller integer.
netscrac: det er som sådan ligemeget, da jeg som sagt slet ikke gør brug af databasen, men netop oprettet recordsettet selv.
Grunden til at jeg bruger recordsets, er fordi det er eneste måde jeg kan få et variabelt antal poster (objekter) ud af en funktion. Jeg har prøvet at få en funktion til at retunere et array, men det går ikke godt hvis man ikke på forhånd kender antallet og størrelsen af arrayet. Recordsets virker også mere forståelige da man kan navngive sine attributter, og bruge de velkendte MoveNext og MoveFirst og sådan.
nope - du kan sagtens lave dine egne recordsets uden at bruge en database. Prøv at tage et kig på koden i spørgsmålet. Men det er rigtigt at RecordSets normalt vil blive brugt i forbindelse med udtræk fra en database, men dette er ikke tilfældet i denne problemstilling.
Jeg er vant til at programmere objektorienteret hvor man smider objekter frem og tilbage mellem funktioner hele tiden, og det nærmeste jeg kan komme mine i at lave mine egne objekter i asp (uden at lave komponenter) er recordsets
som jeg sagde i en tidligere kommentar \"Jeg har prøvet at få en funktion til at retunere et array, men det går ikke godt hvis man ikke på forhånd kender antallet og størrelsen af arrayet\", så problemet opstår allerede når jeg laver det første array; netop at jeg ikke kan få den ud af funktionen...
Som de andre også siger, er det sandsynligvis ikke muligt at have rs i rs. Det er ellers en smart løsning du havde fundet dig der :) Dog kan du løse dit problem på en anden måde, idet det faktisk ER muligt at returnere et dynamisk array fra en funktion. Jeg har lige skrevet en kodestumt til dig, hvor en whileløkke tilføjer værdier til et dynamiskarray der så tilsidst tilføjes i et statisk.
<% function arrayTest Dim mitArray(1) Dim variabelArray() i = 0 \' Stopper værdier i et andet array do while i < 4 \' Arrayets længde skal redifineres inden ReDim preserve variabelArray(i+1) variabelArray(i) = \"Thomas\" & i & \"<br>\" i = i + 1 loop \' Arrayet der skal returneres, får nu det indre array på plads 0 mitArray(0) = variabelArray arrayTest = mitArray end function
hovsa - jeg glemte da vist at få dette spørgsmålet lukket. Men lytzen har faktisk ret i det med dynamiske arrays. Det er åbenbart fordi det første (yderste) array _ikke_ må være dynamisk, men når bare den er statisk, så må de resterende arrays godt være dynamiske, og jeg kan derved få returneret det jeg vil. Så dermed har lytzen givet mig løsningen på mit problem og får mine point (om netsrac gav lytzen hintet ved jeg ikke, men han får også lige et par point :)) tak til dem der forsøgte...
Synes godt om
Ny brugerNybegynder
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.