webForumDet fria alternativet

Vad fasen...

ASP

5 svar · 200 visningar · startad av casca

Medlem sedan feb. 20005 891 inlägg
Frågan#1

När jag satt och kodade lite idag fick jag upp ett (för mig) helt obegripligt fel.. :(

Felmeddelande:

Microsoft OLE DB Provider for ODBC Drivers fel '80040e07'

[Microsoft][Drivrutin för ODBC Microsoft Access] Typblandningsfel i villkorsuttryck.

/mapp/check2.asp, rad 10

Rad tio ser ut så här:

RecSet.Open SQL, Conn, adOpenStatic, adLockOptimistic

Conn är instansen för Connection, RecSet är instansen för Recordset, jag har inkluderat adovbs.inc och så är SQL en variabel med en SQL-uttryck.

Nån som har en aning om vad som är fel? :q

------------------
Canis meus id comedit

Medlem sedan juni 200032 967 inlägg
#2

vi vet inte vad det är som är fel om du inte visar oss din sql-fråga.

skriv ut den med response.write och berätta för oss hur din tabell är uppbyggd.

pronto! :)

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

Medlem sedan feb. 20005 891 inlägg
#3

Min SQL-fråga? Den ser ut så här:

SQL = "SELECT * FROM medlemmar WHERE id = '" & Session("inloggadUser") & "'"

(Session-cookien innehåller ett nummer som det tilldelats på en tidigare sida..)

------------------
Canis meus id comedit

Medlem sedan juni 200032 967 inlägg
#4

om id är ett heltal i tabellen får du inte ha apostrofer runt värdet. prova således:

SQL = "SELECT * FROM medlemmar WHERE id = " & Session("inloggadUser")

mvh,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

Medlem sedan feb. 20005 891 inlägg
#5

Det är ett heltal, men koden funkar inte eftersom "datorn" tror att SQL-satsen är slut där. Går det att lösa på annat sätt eller får jag helt enkelt se till att verifiera med nåt annat, t ex ett ord (namn)?

------------------
Canis meus id comedit

Medlem sedan feb. 20005 891 inlägg
#6

Löste detta genom att sätta inloggnings-namnet i session-kakan, och löste därmed en del framtida problem. ;)

Men genast uppstår ett nytt problem, får upp felmeddelandet:

fel '80020009'
Undantag inträffade.

/mapp/check2.asp, rad 12

Rad 12 är:

If RecSet("besok") = 0 then

Tabellkolmnen besok innehåller ett värde, ska vara en besöksräknare, och vid första inloggningen ska man slussas till en ny sida. Hela filen:

<% response.buffer = true %>
<!-- #include file="adovbs.inc" -->
<html>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Conn.Open "driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("forum.mdb")

SQL = "SELECT besok, login FROM medlemmar WHERE login = '" & Session("inloggadUser") & "'"
RecSet.Open SQL, Conn, adOpenStatic, adLockOptimistic

If RecSet("besok") = 0 then
 response.redirect "user.asp"
 RecSet("besok") = RecSet("besok") + 1
 RecSet.Update
else
 RecSet("besok") = RecSet("besok") + 1
 RecSet.Update
 response.redirect "forum.asp"
end if
 Conn.Close
 RecSet.Close
%></html>

------------------
Canis meus id comedit

[Redigerat av casca den 06 jan 2001]

267 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)