webForumDet fria alternativet

Kontrollera Getrows

ASP

14 svar · 379 visningar · startad av Calevan

Medlem sedan maj 20031 173 inlägg
Frågan#1

OBS! bara min post längst ner behövs läsas för att förstå problemet! (jag sammanfattade det där...)
/Red

***
Nu har jag sökt och sökt i forumet men inte hittat svaret på min fråga, så nu ställer jag den i en ny tråd!

Det är så att i alla exempel jag sett så hämtas ALLA posterna från SQL satsen med tex

arrRecSet = RecSet.GetRows()

Nu är det så att jag vill styra inläsningen till arrRecSet lite mera genom att bestämma vilka rader som ska läsas in. Dvs att den ska bara ta rad i från RecordSetet och ladda in, någon så här kanske

arrRecSet(i) = RecSet.GetRows(i)

fast jag inser ju att något mer måste göras.

Någon som vet hur man kan göra?

tack!

Medlem sedan juni 200032 967 inlägg
#2

Med GetRows skapar du en array-spegling av ett helt recordset. Vill du bara lyfta in en viss post så får du antingen se till att SQL-frågan bara returnerar den posten, alternativt lägga in värde för värde i en egenskapad array.

Mvh

Medlem sedan maj 20031 173 inlägg
#3

@nders skrev:

alternativt lägga in värde för värde i en egenskapad array.

Det där lät som det jag vill göra! råkar du ha en kort kodsnutt som kan demonstrera hur man gör det? har inte arbetat med arrays tidigare.

tack!

Medlem sedan juni 200032 967 inlägg
#4

En liten kodsnutt borde väl gå att kirra.
Med reservation för felskrivning, för det är otestat, och jag har ingen möjlighet att testa det. Plus att det är helg, så jag behöver inte kunna det här förrän på måndag egentligen. ;)

Dim varMyArray(5, 0)
varMyArray(0,0) = objRS("fält1")
varMyArray(1,0) = objRS("fält2")
varMyArray(2,0) = objRS("fält3")
varMyArray(3,0) = objRS("fält4")
varMyArray(4,0) = objRS("fält5")
varMyArray(5,0) = objRS("fält6")

Det går givetvis att göra smidigare, genom att loopa igenom recordsetets fält. Då blir det fin och funktionell kod. Det borde kunna se ut så här på ett cirkus:

Dim varMyArray
Redim varMyArray(objRS.Fields.Count-1, 0)
For i = 0 to objRS.Fields.Count-1
     varMyArray(i,0) = objRS(i)
Next

Men, som sagt, det är helg. Men kanske något för dig att börja med? :)

red: förresten, arrayers index börjar på 0, därför ser det lite knasigt ut när man räknar. Men det är sånt som händer. ;)

Lycka till.

Mvh

Medlem sedan maj 20031 173 inlägg
#5

tack!

fick dock "Type mismatch" på näst sista raden i din kod-lopp, och jag förstår inte varför :(

Medlem sedan juni 200032 967 inlägg
#6

Ok, jag kan tyvärr inte kika nu heller. Jag ska se om jag kan kika på det i morgon kväll när jag kommit hem, om ingen annan löst det innan dess.

Mvh

Medlem sedan maj 20031 173 inlägg
#7

okay, man tackar så mycket för hjälpen, nu känns det som om jag är på rätt väg!

Men om någon annan här har lust att ta en titt vore jag väldigt glad!

Medlem sedan maj 20031 173 inlägg
#8

Nu ser min kod ut så här

Dim varMyArray
Redim varMyArray(objRS.Fields.Count-1, 0)
For i = 0 to objRS.Fields.Count-1
     varMyArray(i,0) = objRS(i)
Next

Men jag får felet "Type mismatch", misstänker att någon dimmension är fel någonstans, någon som är bra på arrays?

Tack!

Medlem sedan maj 20031 173 inlägg
#9

OBS! bara posten innan denna behövs läsas för att förstå problemet! (jag sammanfattade det där...)

Medlem sedan mars 20015 287 inlägg
#10

På vilken rad får du egentligen det felet?

Ditt RecSet heter objrs?

Medlem sedan maj 20031 173 inlägg
#11

solbulle skrev:

På vilken rad får du egentligen det felet?

på raden men denna kod

varMyArray(i,0) = objRS(i)
Medlem sedan mars 20015 287 inlägg
#12

Och ditt recordset heter objRS?

Medlem sedan maj 20031 173 inlägg
#13

jups!

(du redigerade ditt första inlägg men en extra fråga, eller hur??)

Medlem sedan mars 20015 287 inlägg
#14

Yepp, du var attan snabb på avtryckarfingret där. ;)

Hm... är det något annat som ställer till det i din kod tro, jag tycker att det där borde fungera.

Hur ser sqlfrågan ut, eller hela kodblocket kanske?

Medlem sedan juli 2003465 inlägg
#15

Jag har råkat ut för sånt felmess innan och då kan det vara att det skiter sig med olika typer av strängar typ(integer, boolean m.m) så då får man konvertera strängen...

men i detta fallet så går det ju inte så bra om du inte ifar vid en spiciel column(altså siffra i detta fallet) som man kan tänkas att det skiter sig på...

257 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)