/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
ADODB.Connection reflekterer ikke ændringe~
Fra : Steen Nielsen


Dato : 08-01-01 21:48

Jeg har en webside, som er lavet i asp, og består af en HTMLtabel
indeholdende et antal poster, der er hentet i en Access database.
Disse poster kan opdateres ved at kalde et cgi-program, som, hvis
opdateringen lykkes, redirecter tilbage til min asp-side.

Når jeg opdaterer data sker det sommetider, ikke altid, at mine
opdateringer mangler i HTMLtabellen og først fremkommer efter at
jeg har trykket refresh i browseren.

Programmet opfører sig som om, at det læser fra en cache, der ikke
altid er opdateret. Mit spørgsmål er derfor:

Kan jeg være sikker på, at min ADO forbindelse altid læser de sidste
nye data fra databasen, eller kunne det tænkes, at ADO forbindelsen
genbruger et eksisterende recordset, hvis dette kun er få sekunder
gammelt?

Nedenfor er der nogle udklip fra min kode, det kunne jo også tænkes der
var en bug.


Jeg har indsat følgende headers i min asp-fil som generer HTMLtabellen:

<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
<meta http-equiv="Cache-control" content="private">


Databasen åbnes på følgende måde:

<%
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" &
Server.MapPath("../../_private/MyDB.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strDSN, 2, 2
ACategory = Request.QueryString("Category")
strSQL = "SELECT * FROM Categories WHERE (UniqueID=" & ACategory & ")"
Set dbConn = Conn.Execute(strSQL)
%>


og lukkes i slutningen af programmet på følgende måde:

<%
dbConn.Close
Set dbConn = Nothing
%>


Håber at nogen genkender problemet eller kan se fejlen.


På forhånd tak

Steen Nielsen





 
 
Lauritz Jensen (09-01-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 09-01-01 00:05

Steen Nielsen wrote:
>
> Kan jeg være sikker på, at min ADO forbindelse altid læser de sidste
> nye data fra databasen, eller kunne det tænkes, at ADO forbindelsen
> genbruger et eksisterende recordset, hvis dette kun er få sekunder
> gammelt?

Jeg vil snarre tro at det er din asp-side, som bliver cachet af din
browser (eller en proxy imellem serveren og din browser). Prøv istedet
for dine no-cache-meta-tags at sende dem med Response.AddHeader. Prøv
evt. også at udskrive en dato (med sekunder) på din asp-side, så du kan
se om asp-siden bliver cachet.

--
Lauritz

Steen Nielsen (09-01-2001)
Kommentar
Fra : Steen Nielsen


Dato : 09-01-01 17:12

Efter jeg har ændret mine no-cache-meta-tags til Response.AddHeader
og clearet min cache ser det ud til at virke.

Tak for hjælpen

Steen Nielsen.


Lauritz Jensen wrote in message <3A5A47A3.D20D6840@hotmail.com>...
>Steen Nielsen wrote:
>>
>> Kan jeg være sikker på, at min ADO forbindelse altid læser de sidste
>> nye data fra databasen, eller kunne det tænkes, at ADO forbindelsen
>> genbruger et eksisterende recordset, hvis dette kun er få sekunder
>> gammelt?
>
>Jeg vil snarre tro at det er din asp-side, som bliver cachet af din
>browser (eller en proxy imellem serveren og din browser). Prøv istedet
>for dine no-cache-meta-tags at sende dem med Response.AddHeader. Prøv
>evt. også at udskrive en dato (med sekunder) på din asp-side, så du kan
>se om asp-siden bliver cachet.
>
>--
>Lauritz



Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408868
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste