webForumDet fria alternativet

Fel på koden, eller bara mig?

ASP

8 svar · 187 visningar · startad av saw

Medlem sedan mars 20011 880 inlägg
Frågan#1

Jag stirrar frusterande på den här snutten, hittar inget fel, men den visar bara dom tre punkterna.
If LEN(RS("Inlagg"))> 80 THEN
Response.Write Left(RS("Inlagg"),80) & "..."
Response.Write "<BR><A HREF=""forhand.asp?ForumId=" & RS("ForumId") & """>"&_
"<STRONG>Läs mera.</STRONG></A>"

Else
Response.Write RS("Inlagg")

End If
Vad missar jag?

------------------
saw
__
saw@songer.com
www.saw.songer.com
_
_

Medlem sedan apr. 2001147 inlägg
#2

Vad får du för felmedelande?

------------------
"Atombomben kommer aldrig att kunna sprängas - och jag talar som expert i ämnet sprängmedel."
Amiral William Leahy, 1945.

Medlem sedan mars 20011 880 inlägg
#3

Det är just det....
Jag får inget felmedelande, men den skriver bara ut tre punkter.
Tänkt är, att om rs("Inlagg") är mera än 80 tecken, så skall dom första tecknen skrivas ut, och därefter tre punkter. Sen skall då länken synas, så att man kan gå till nästa sida och läsa resten.
Jag tror att det är något simpelt som jag har missat, men jag ser det inte nu...

------------------
saw
__
saw@songer.com
www.saw.songer.com
_
_

Medlem sedan okt. 20005 273 inlägg
#4

jag testade din kod så här

strInlagg = "nu så ska vi se om jag kan komma på 80 sst tecken annars får jag väll skriva skit hela tiden"
If LEN(strInlagg)> 80 THEN
	Response.Write  Left(strInlagg,80) & "..."
	Response.Write "<BR><A HREF=""forhand.asp?ForumId=" & strInlagg & """>"&_
	"<STRONG>Läs mera.</STRONG></A>"

	Else
	Response.Write strInlagg
End If

och den funkade perfekt...så jag tror nog att det är nåt fel på RS("inlagg").... :)
om du skriver

Response.write TypeName(RS("inlagg")

vad får du då ?

------------------
ibland tror jag att jag kan lite för lite än vad jag kan ....

[Redigerat av icaaq den 04 jul 2001]

Medlem sedan mars 20011 880 inlägg
#5

Oj det var ett trix jag aldrig har set.

------------------
saw
__
saw@songer.com
www.saw.songer.com
_
_

Medlem sedan mars 20011 880 inlägg
#6

Oj det var ett trix jag aldrig har set.

------------------
saw
__
saw@songer.com
www.saw.songer.com
_
_

Medlem sedan mars 20011 880 inlägg
#7

Oj det var ett trix jag aldrig har sett.
Jag får "Field".
Skriver jag ut LEN så får jag fram längden åxå, och den är OK.
Vad som hände nu, när jag la den i en variabel, så skrev den ut HELA texten.
Jag får alltså inte den att reagera på längden (huga av efter 80 tecken).

Så här ser det ut nu:
strText=RS("Inlagg")
'Response.write LEN(strText)
If LEN(strInlagg)> 80 THEN
Response.Write Left(strInlagg,80) & "..."
Response.Write "<BR><A HREF=""forhand.asp?ForumId=" & strInlagg & """>"&_
"<STRONG>Läs mera.</STRONG></A>"
Else
Response.Write strText
End If

Vad tror ni?
------------------
saw
__
saw@songer.com www.saw.songer.com
_
_

[Redigerat av saw den 04 jul 2001]

Medlem sedan dec. 200012 464 inlägg
#8

Du lägger texten i strText men du kollar längden på strInlägg

strText=RS("Inlagg")
'Response.write LEN(strText)
If LEN(strInlagg)> 80 THEN

Grundproblemet är nog att du har en datatyp vars maxlängd är större än 8000 t.ex text i SQL server eller Memo i Access. Dessa måste hanteras speciellt via ADO. T.ex så fungerar det inte att referera till recordsetet flera gånger utan man måste flytta värdet till en lokal variabel. Om du har SQL server så kanske det räcker med att använda varchar(8000) istället.

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

Medlem sedan mars 20011 880 inlägg
#9

Tack LarsG.
Jag undrar om det är så lyckat att försöka koda mittinatten????
:)

------------------
saw
__
saw@songer.com
www.saw.songer.com
_
_

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