webForumDet fria alternativet

funkar på ena men inte andra...

ASP

6 svar · 271 visningar · startad av dendålige

Medlem sedan jan. 2003188 inlägg
Frågan#1

jag får felet

error '80020009'
men det står inge mer i felmeddelandet...

saken är den att när jag kör koden på min dator (winXP) så funkar det kanon, men sen när jag laddar upp den till servern (2003 webbserver) med samma MySQl databas så får jag felmeddelandet...

koden är simpel:

if Request.Querystring("do") = "add" then
SQL = "Select id,datum from dagbok where agarid = '"&Session("id")&"' order by datum desc"
set RecSet = Connect.Execute(SQL)
If not FormatDateTime(RecSet("datum"),2) = FormatDateTime(Now(),2) then 
Connect.Execute("INSERT INTO dagbok (agarid,username,rubrik,datum,meddelande,last) VALUES('"& Session("id") &"','"& Session("username") &"','"& SQLEncode(Request.Form("rubrik")) &"','"& Now &"','"& SQLEncode(Request.Form("dagbok")) &"','0')") 
Connect.Execute "UPDATE anvandare SET status = status + 0.02 Where id = '"&session("id")&"'"
Connect.Execute "UPDATE status SET dagbok = dagbok + 0.02 Where userid = '"&session("id")&"'"
end if
Response.Redirect "dagbok.asp?id="&Session("id")&""
end if

men jag använder exakt samma kod på ett annat ställe på samma sida, men när jag kör att man kommer till sidan via querystring, så knasar det så... kan det bero på olika versioner av iis? eller vad ska man göra?

Medlem sedan juni 200032 967 inlägg
#2

Vilken rad är det som orsakar felet? Kommentera bort en rad i taget om du inte får någon radangivelse.

Annars två frågor:

  1. Du har apostrofer runt värdena för id och userid. Är de fälten av texttyp? Varför då?
  2. Du har parenteser bara runt insert-frågan, men inte runt dina update-frågor. Finns det en speciell anledning till det?
Medlem sedan jan. 2003188 inlägg
#3

den klagar på:
If not FormatDateTime(RecSet("datum"),2) = FormatDateTime(Now(),2) then

mm det är text...

Medlem sedan juni 200032 967 inlägg
#4

Jag gissar på att session("id") är tom, vilket innebär att SQL-frågan inte ger något resultat. Skriv ut SQL-frågan och kolla.

Man ska alltid kontrollera om ett recordset är tomt innan man försöker använda värden ifrån det.

Medlem sedan jan. 2003188 inlägg
#5

men den är inte tom, det är det som är det knasiga =S
har gjort det... saken är den att jag kan inte hitta någe fel alltså... funkar ju klockrent på "vanliga" datorn...

Medlem sedan juni 200032 967 inlägg
#6

Du har alltså provat att skriva ut SQL-frågan, samt värden från det resulterande recordsetet?

Medlem sedan nov. 20017 144 inlägg
#7

Finns det något i RecSet("datum") då?

261 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)