webForumDet fria alternativet

Kontrollera Getrows

14 svar · 379 visningar · startad av Calevan

CalevanMedlem sedan maj 20031 173 inlägg
#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!

@ndersMedlem sedan juni 200032 969 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

CalevanMedlem 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!

@ndersMedlem sedan juni 200032 969 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

CalevanMedlem 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 :(

@ndersMedlem sedan juni 200032 969 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

CalevanMedlem 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!

CalevanMedlem 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!

CalevanMedlem 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...)

solbulleMedlem sedan mars 20015 287 inlägg
#10

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

Ditt RecSet heter objrs?

CalevanMedlem 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)
solbulleMedlem sedan mars 20015 287 inlägg
#12

Och ditt recordset heter objRS?

CalevanMedlem sedan maj 20031 173 inlägg
#13

jups!

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

solbulleMedlem 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?

GlitterMedlem 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å...

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)