webForumDet fria alternativet

Recordset i application variabler ???

6 svar · 365 visningar · startad av tostewe

tosteweMedlem sedan juni 200291 inlägg
#1

Jag behöver ladda upp ett recordset i en applicationvariable, för att slippa upprepa denna procedur för varje session. Databasen kommer istort sett att vara statisk det kommer kanske en eller två uppdateringar i månaden, då är det bara att starta om the application. Jag vet att det finns färdiga och lätt modifierade script för detta, men jag har inte hittat något. Har inte tid att pröva mig fram till något nytt då jag aldrig gjort något sådant förut.

Så om någon har ett script liggande så jag kunde få lite guidening så vore jag tacksam.

VideMedlem sedan dec. 19998 577 inlägg
#2

"By default" kan man inte lägga ett recordset i en application-variabel, utan man måste in i registret på servern och ändra några variabler...

Men om vi backar ett steg kanske vi kan komma på en bättre lösning än att lägga den där, vad är det du vill göra (lite mer specifik)?

Mvh, Vide

tosteweMedlem sedan juni 200291 inlägg
#3

Recordset

Jag vill dels spara tid och dels spara minne på servern. Jag vill på något sätt lägga upp ett RS i en array som ligger som en Application variabel, jag vet att det går och har sett det göras men jag kan inte hitta mina antekningar och exempelkoder. Till saken hör att jag har en dead line till på fredag.
Det kommer att vara ca 600 träffar omdagen, och det blir ett antal träffar samtidigt. Det skulle spara mycket av resurserna på servern om det gick att genomföra.
Det rör sig om ca 200 poster med 11 fält i varje post, och allt måste läsas in samtidigt. Det är en kund lista med återförsäljare.

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#4

600 träffar om dagen är ju ganska lite. Jag tror bara det är dumt att lagra det i datorns minne.

tosteweMedlem sedan juni 200291 inlägg
#5

Men jag vill

Jag vet att det går och jag vill göra det...

tosteweMedlem sedan juni 200291 inlägg
#6

Funkar visst...

<%

set con = server.CreateObject("ADODB.Connection")
con.Open "support3"

'Använda detta för att spara applikationsvariabeln
Application("Rows") = GenArray("case_info", con)

  'använd detta för att hämta data..
dim savedArray 
savedArray = Application("Rows")
Response.Write "First field: " & savedArray(0,0) & "\<br\>"

'Denna funktion genererar en array med allting från vald tabell
Function GenArray(tableName, dbConnection)

set rs = server.CreateObject("ADODB.Recordset")
rs.Open "SELECT \* FROM " & tableName, con
arrDBData = rs.GetRows()
rs.close

GenArray = arrDBData

End Function

VideMedlem sedan dec. 19998 577 inlägg
#7

Självklart kan man lägga en array i en application-variabel... en bra lösning faktiskt.

Mycket bra att du postade din lösning, jag tror det kan hjälpa många med samma "problem". :)

Mvh, Vide

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