På alle mine asp sider, hvor data fra access databasen vises, rettes eller behandles, starter jeg på siden med at åbne forbindelsen til databasen og til slut på hver side, lukkes databasen.
Jeg har to funktioner - én til at åbne databasen og en til at lukke.
Hvad er god programmerinsskik og har det nogen betydning for hastigheder m.v. om jeg åbner/lukker på hver side?
Min erfaring siger at du kun skal åbne databasen når du trække data og lukke databasen så hurtigt som muligt. Hvis det er muligt at behandle data mens den er lukket og kun åbne den når det er absolut nødvendigt.
Og ja det har enorm stor betydning med hastighed hvis databasen står åben hele processen igennem. Jeg lavede en chat sidste år bygget i en access database. Den første test var extrem sløv når man nåede op på omkring 10-15 brugere. Her åbnede jeg databasen, træk og behandlede data, og lukkede databasen. Jeg ændrede så det forløb til at åbne databasen, træk data, luk database, behandle data, åbne database lagre data, luk database.
Selv om det virker som en lang arbejdsgang betød det faktisk at jeg kunne presse chatten til 40 brugere før det kunne mærkes.
Så mit svar vil være: Åben kun databasen nå det er nødvendigt og luk den så hurtigt som muligt.
Tak for råd. Kan man i VBScript f.eks definere et array, som man kan referere til på flere sider? Jeg tænker f.eks på, at indlæse records fra en tabel ind i et array og så bygge alle dropdowns op, udfra array' et i stedet for at indlæse fra tabellen hver gang. Idet de data jeg anvender i dropdowns sjælden ændres/udvides må dette være hurtigere.
Hvis jeg definere et array som public in en .inc fil kan jeg så referere til det på alle de sider, som har filen included og f.eks nøjes med at indlæse records i array' et når sitet åbnes og hvis data ændres?
Ja det kan du sagtens, men hvis der kan forekomme de mindste ændringer vil jeg nu altid foreslå brugen af database, bare man kun udlæser dem og lukker databasen hurtigst mulige. Jeg har selv 2 funktioner i en include jeg kalder aabenDB og lukDB hvilket gør tingende lidt lettere. Desuden har jeg alle mine SQL-sætninger i en includefil for sig, så jeg hurtigt kan finde frem til dem og rette dem til hvis det bliver nødvendigt, så længe jeg alså bruger access, hvis det er en MSSQL bruger jeg "stored procedure".
Anyway brugen af Arrays er let at arbejde med, du skal bare huske på at hvis du lægger dem i en include fil og indlæser dem selv nå du ikke bruger dem bruger de hukommelse til ingen verdens nytte.
og derefter kan jeg referere til denne variable og dens indhold overalt. Jeg har prøvet det samme i et VBscript, men får fejlen Type mismatch: Mitarray
gør jeg det forkert? (smid et svar - jeg takker for dine tips)
Ja du kan bruge public og private i asp så skal du bruge .NET
Dim MitArray
Og Redim for at sætte størrelsen.
Takker
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.