webForumDet fria alternativet
Logga in / Bli medlem

recordset loopning strular

ASP

7 svar · 250 visningar · startad av drain

Medlem sedan apr. 200165 inlägg
Trådstart#1

Här är frågan. Hur får jag index-värdet på j? När jag kör respons.write(j) (se nedan) så får jag värdet för fältet. Detta värde kan ju vara typ kalle eller vad som helst. Finns det något sätt att komma över index värdet för j? Jag vill alltså att j skall kunna vara som en räknare 1,2,3,4,5,6,7.....

for each j in recset1.Fields
Response.Write(j)
for i = 1 To Ubound(MyArray, 2)
recset1(j.name)=MyArray(j, i)
next
next

Medlem sedan dec. 19998 577 inlägg
#2

Jag skulle lagt in ett index i själva recordsettet, bara att lägga till ett fält där du lagrar siffror... då kan du även sortera efter dom sedan... :)

Medlem sedan apr. 200165 inlägg
#3

Tack för iden ;) Den är ju en lösning men kanske inte riktigt så som jag tänkt mig. Jag kör väl på denna men om någon vet något sätt att få tag på index värdet så varit inte blyga....hör av er :)

Medlem sedan apr. 200165 inlägg
#4

Jag vill ju att j skall räkna upp till nästa attribut inte nästa post det är ju det som i gör. Jag uttryckte mig lite oklart. Ursäkta mig Vide.

Är jag korkad eller? Hur menar du med att fixa ett index i själva recordsetet? Jag trodde det innebar att lägga till en räknare i DB men du kanske menade något annat. Snälla förklara för en korkad varelse

for each j in recset1.Fields
for i = 1 To Ubound(MyArray, 2)
Response.Write("räknare " & j)
recset1(j.name)=MyArray(j**(index-värde tack inte post värde)**, i)
recset1.Update
next
next

Medlem sedan dec. 200012 464 inlägg
#5

För att få numeriskt värde för j så.

for j = 0 to recset1.Fields.count - 1
recset1(j) = "xxx"
next

Jag förstår inte vad du försöker göra dock. Det ser ut som om du uppdaterar samma post flera gånger

Medlem sedan apr. 200165 inlägg
#6

Tjena LarsG!! Hm jag hade gjort lite knassigt. Jag skall försöka förklara vad jag försöker att göra.
1. jag hämtar värden till en array med recordset.getrows. stänger recordsetet och koppling till DB.
2. Arrayen manipuleras och får en del nya värden.
3. Nu vill jag öppna recset igen och slänga tillbaka alla värden från den manipulerade arrayen. HUR GÖR JAG DETTA?

OERHÖRT tacksam för svar...

Medlem sedan dec. 200012 464 inlägg
#7

Borde det inte bli något så här istället

recset1.movefirst
for i = Lbound(MyArray,2) To Ubound(MyArray, 2)
for j = 0 to recset1.count - 1
recset1(j) = MyArray(i,j)
next
recset1.Update
recset1.movenext
next

Alternativt till att ha en update för varje post så finns det en metod som heter updatebatch där man kan ta hand om alla förändringar i ett anrop. Här finns information om det:
http://msdn.microsoft.com/library/default.asp?URL=/library/psdk/dasdk/mdam3hrc.htm

Medlem sedan apr. 200165 inlägg
#8

Ja du LarsG nu har jag fixat detta!! ÄNTLIGEN delvis tack vare dig och delsvis tack vare mig själv så här blev koden (om du är intresserad):

for j = 0 to recset1.Fields.Count-1
for i = Lbound(MyArray,2) To Ubound(MyArray, 2)
recset1(j) = MyArray(j,i)
recset1.Update
recset1.movenext
next
recset1.movefirst
next

:) Miljoner tackningar :)

248 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)