webForumDet fria alternativet

vad för fel?

ASP

10 svar · 189 visningar · startad av jispir

Medlem sedan maj 20011 343 inlägg
Frågan#1

vad är det för fel på denna kod

if rs2("msgfrom1") =" & rs("kompisid") & " then

fattar inte vad det är det borde ju funka.

felmeddelandet

'Then' förväntas.

/kompis.inc, line 97

if rs2("msgfrom1") =" rs("kompisid") " then
---------------------------^

------------------
verktygslådan

Ett gott trams förlänger
livet :e

Medlem sedan dec. 2000557 inlägg
#2

Hmm... borde det inte se ut så här:

if rs2("msgfrom1") = rs("kompisid") then

:q

------------------
// Palleman
www.wiicom.nu/palle

Medlem sedan dec. 1999707 inlägg
#3

Citationstecken börjar och avslutar strängar. Du jämför:

rs2("msgfrom1")

med:

" & rs("

------------------
/ Torbjörn Hansson, webbutvecklare
Endero Sverige

Medlem sedan maj 20011 343 inlägg
#4

vad är det för fel på följande kod då?


'kontrollerar vilka som är kompisar
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("..\db\login.mdb"))
SQLStmt = "SELECT Login.*, kompisar.* FROM Login, kompisar WHERE kompisar.tilhar = " & session("userID") & " AND Login.id = kompisar.kompisid ORDER BY onlajn DESC, Login ASC"
mess = "SELECT msgfrom1 FROM message Where last = " & 0 & " and msgto1 = " & session("userid") & ""
Set RS = Connection.Execute(SQLStmt)
Set RS2 = Connection.Execute(mess)
if not RS.eof then
	if cstr(RS("onlajn"))="1" then
		offline = 0 'sätter kontrollflagga
		Response.Write "<font face=""Verdana,Arial"" size=1 color=""#000080"" style=""font-size:10px;""><br>- Online -<br></font></center><font face=""Verdana,Arial"" size=1  style=""font-size:9px;"">"
	end if
end if
Do Until RS.EOF
	if cstr(RS("onlajn"))="0" and offline = 0 then
		offline = 1
		Response.Write "<center><font face=""Verdana,Arial"" size=2 color=""#000080"" style=""font-size:11px;""><br>- Offline -<br></font></center></center><font face=""Verdana,Arial"" size=1  style=""font-size:10px;"">"
	end if
	Response.Write "<br><a href=""delete.asp?id=" & rs("kompisid") & """> <img src=""rodpunkt.jpg"" border=""0"" onMouseover=""window.status='Ta Bort -Namn-';return true;"" onMouseout=""window.status='';return true;"" width=""6"" height=""7""> <a href=""javascript:popup('info.asp?id=" & rs("kompisid") & "');""> " & rs("kompisnamn") & "</a>" 
	if rs2("msgfrom1") = rs("kompisid")   then 
	response.write "<img src=""bilder/mess.gif"">" 
	else
	end if
	RS.MoveNext
Loop
RS.Close
 
Connection.Close

felmeddelande

Undantag inträffade.

/kompis.inc, line 97

Jag kan få fram den första posten i databasen men inte de andra så nått fel på loopen måste det ju vara!

------------------
verktygslådan

Ett gott trams förlänger
livet :e

[Redigerat av jispir den 31 mar 2001]

Medlem sedan maj 20011 343 inlägg
#5

ingen som kan hjälpa mig?

------------------
verktygslådan

Ett gott trams förlänger
livet :e

Medlem sedan dec. 200012 464 inlägg
#6

Vilken rad är 97?

------------------
essentitia preter non sans multiplicandum

Medlem sedan maj 20011 343 inlägg
#7

det är denna if sats.


if rs2("msgfrom1") = rs("kompisid") then 
response.write "<img src=""bilder/mess.gif"">" 
else
end if

------------------
verktygslådan

Ett gott trams förlänger
livet :e

Medlem sedan dec. 200012 464 inlägg
#8

Om du ersätter den så här då

if  not RS2.EOF then
    if rs2("msgfrom1") = rs("kompisid") then 
response.write "<img src=""bilder/mess.gif"">"
end if
end if

vad händer då?

------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 01 apr 2001]

Medlem sedan maj 20011 343 inlägg
#9

ja det funkade!

Nu har jag ett litet problem till vet inte hur jag ska lösa det bara.

Det är så att om nån som inte är med på kompis listan och skickar ett meddelande
så ska han stå under titeln "inte på listan". Jag har funderat lite men kommer inte på hur jag ska lösa det.

för den som undrar det är inget nytt community jag håller på med ;) Utan ett intranet för en förening

------------------
verktygslådan

Ett gott trams förlänger
livet :e

Medlem sedan dec. 200012 464 inlägg
#10

Jaha, vill bara veta om jag har förstått vad du menar. Är problemet den här satsen:

SQLStmt = "SELECT Login.*, kompisar.* FROM Login, kompisar WHERE kompisar.tilhar = " & session("userID") & " AND Login.id = kompisar.kompisid ORDER BY onlajn DESC, Login ASC"

dvs, du vill att alla som finns i logintabellen kommer med oavsett om dom finns i kompistabellern eller inte?

Om så så kan du skriva om din sqlsats på det här viset i stället:

Uid = session("userID")
SQLStmt = _
"SELECT * FROM Login as L " & _
 "left join kompisar as K" & _
 "on L.id = k.kompisid " & _
"WHERE K.tilhar = " & Uid & _
" ORDER BY onlajn DESC, Login ASC"

Alla poster i login som uppfyller wherevillkoret kommer med i resultatet. Om det inte finns en matchande post i kompisar så får man nullvärden i de kolumner som kommer från kompistabellen och annars fungerar det som en vanlig join.

------------------
essentitia preter non sans multiplicandum

Medlem sedan maj 20011 343 inlägg
#11

det är inte direkt nått problem.
Utan jag kan inte riktigt komma på hur man ska göra så att om jag skickar ett meddelande till dig och du inte har mig på din kompis lista så ska jag hamna under en rubrik som heter "inte på listan" under dina kompisar.

Och läggar man inte till personen på sin kompis lista så ska han inte vara kvar där om man loggar ut och sen in igen!

förstår ni vad jag menar? ;)

------------------
verktygslådan

Ett gott trams förlänger
livet :e

[Redigerat av jispir den 01 apr 2001]

255 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)