solbulleMedlem sedan mars 20014 998 inlägg
Hm... jag gör en massa inserts i db med hjälp av en sub och plockar ut ID med "SELECT @@IDENTITY", detta ID samt en annan variabel måste jag sen använda vidare.
Jag tänkte att jag skulle lägga dom i en 2-dimensionell array, men hur gör jag det?
(Tidigare la jag allt i en kommaseparerad sträng, är det det som gäller?)
Typ kod:
Sub in(firstname,lastname,bio,occupation)
strSQL = ("INSERT INTO tbl_person (fld_p_firstname, fld_p_lastname, fld_p_bio) VALUES ('"&firstname&"','"&lastname&"','"&bio&"')")
connect.Execute strSQL,,128
set RS = connect.execute("SELECT @@IDENTITY")
intpID=RS(0)
'ocupation ska ju då vara med i arrayen...
End Sub
@ndersMedlem sedan juni 200026 914 inlägg
Varför ska du ha en tvådimensionell array? Räcker det inte med en vanlig array med två fält?
myArray = Array(detena, detandra)
Mvh
solbulleMedlem sedan mars 20014 998 inlägg
Vet inte riktigt om det är jag som snubblar lite eller om du missuppfattar mig.
Jag vill köra min lilla sub några gånger (ca 1-10ggr, olika värden) och på något sätt hålla ordning på vad den har lagt in i databasen så att jag sen kan peta in det i en annan tabell.
Min tanke var alltså att en Arraay skulle "byggas" upp, och varje plats i den skulle motsvara värdet i occupation samt vilket intpID den fick.
Cyklar jag nu igen?
@ndersMedlem sedan juni 200026 914 inlägg
solbulle skrev:
Vet inte riktigt om det är jag som snubblar lite eller om du missuppfattar mig.
Kanske lite både och? :)
Först och främst:
Dim myArray(1,0)
Sedan, i din sub, när du ska fylla på med värden, prova med något sånt härnt:
intUpperBound = Ubound(myArray,2) + 1
redim preserve myArray(1, intUpperBound)
myArray (0, intUpperBound) = "nånting"
myArray (1, intUpperBound) = "nåt annat"
När du sedan loopar ut din array igen, så kom ihåg att det ligger en tom rad nederst. (Om du inte flyttar på värdena vill säga. :) )
Mvh
solbulleMedlem sedan mars 20014 998 inlägg
Jag testar :)
Jag har strulat runt som attans med det jag håller på med, vad som är bästa lösningen, det vette gudarna...
solbulleMedlem sedan mars 20014 998 inlägg
Microsoft VBScript runtime (0x800A000A)
This array is fixed or temporarily locked
:( Fixar inte att Redimma...
@ndersMedlem sedan juni 200026 914 inlägg
solbulleMedlem sedan mars 20014 998 inlägg
Asch!
ReDim myArray(1,0)
Löste det ju. Om jag gör den "dynamisk från start verkar det fungera.
@ndersMedlem sedan juni 200026 914 inlägg
solbulleMedlem sedan mars 20014 998 inlägg
"No hard feelings" ;)
Btw, nu skriver jag så här:
ReDim myArray(1,0) 'utanför subben
'detta i subben
redim preserve myArray(1,intUpperBound)
myArray(0,intUpperBound) = occupation
myArray(1,intUpperBound) = intpID
intUpperBound = Ubound(myArray,2) + 1
'testutskrift utanför subben:
For b = 0 to Ubound(myArray,2)
response.write myArray(0,b) & " - - - " & myArray(1,b) & "<br>"
Next
Verkar fungera helt strålande.