webForumDet fria alternativet

Type missmatch

ASP

9 svar · 660 visningar · startad av Mika3l

Medlem sedan nov. 20018 492 inlägg
Frågan#1

Tjipp!
Sitter och har fått lite problem med en fil som fungerar perfekt lokalt men som bråkar när jag har laddat upp den på mitt webbhotell.

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'Execute'

Koden:

Function fixpic(strValue)
	With New RegExp
	.Global = True
	.IgnoreCase = True
	.Pattern = "\[img=([1-9]\d*)\]"
	Set vMatches = .Execute(strValue)
	For Each Match in vMatches
		iid = Match.SubMatches(0)
		Set rs = Connection.Execute("SELECT f_title_" & lang & " FROM tblGallery WHERE f_iid = " & iid)
		If NOT rs.EOF Then
			strValue = Replace(strValue, Match, "<a rel=""shadowbox[content_img];options={counterType:'skip',continuous:true,animSequence:'sync'}"" href=""images/gallery/fullsize/" & iid & ".jpg"" title=""" & rs("f_title_" & lang) & """><img src=""images/gallery/thumbs/" & iid & "_thumb.jpg?cache=" & int(rnd*1000000) & """ style=""border: 1px solid #000000; margin-bottom: 5px;"" /></a>")
		End If
	Next
	End With
	fixpic = strValue
End Function

Vad jag har förstått det som så kan ett sånt här problem bero på att det inte finns något värde. Har dessutom fått ett annat fel (ogiltigt Replace()) som verkar tyda på att det inte finns något data att hantera. Detta känns dock väldigt konstigt då jag har kontrollerat i databasen och m.h.a koder innan så att det finns. Dock var det en del trubbel när jag exporterade min databas till webhotellet så det kan ju hända att något är skadat (?) eller liknande. Jag har kollat så att namn och data stämmer/finns och det verkar ok vad jag kan se iaf.
Någon som kan ge mig lite ledtrådar så jag lyckas lösa skiten?

Medlem sedan juni 200032 967 inlägg
#2

Vad innehåller strValue då?
Och vad är det för skillnad på miljöerna?

Medlem sedan nov. 20018 492 inlägg
#3

strValue innehåller text (mysql: text) som hämtas m.h.a Response.Write(fixpic(Replace(rs("f_content_" & lang),"\'","'"))).
Win XP Corp IIS Vs Win 2003 IIS

Medlem sedan juni 20019 519 inlägg
#4

Och kan det vara så att det inte finns någon text i databasen (null)?

Response.Write(fixpic(Replace(rs("f_content_" & lang) [red]& ""[/red],"\'","'")))
Medlem sedan juni 200032 967 inlägg
#5

Det jag menade var: Hur ser värdet ut? Skriv ut det i funktionen för att kontrollera att det verkligen är något. Det är dåligt att skicka null - dvs det våktis är inne på.

Medlem sedan nov. 20018 492 inlägg
#6

Testar först med:

If rs("f_content_" & lang) <> "" Then
Response.Write(fixpic(Replace(rs("f_content_" & lang),"\'","'")))
End If

Jag skrev ut direkt nu, av nån väldigt konstigt anledning så är det trots allt inget data :s

Medlem sedan sep. 2006867 inlägg
#7

Mjo, men en tom sträng och null är inte samma sak. Testa med IsNull istället!

Medlem sedan nov. 20018 492 inlägg
#8
If NOT isNull(rs("f_content_" & lang)) Then

Ger mig fortfarande null (får felmeddelande på Replace()). Skippar jag not (som jag väl borde använda i mitt fall?) så skrivs inget ut (ingen data alltså) men inga felmeddelanden.

Medlem sedan juni 20019 519 inlägg
#9

Vad är det för datatyp i f_content "lang"?

Dim sContent
sContent = "" & rs("f_content_" & lang)
If sContent <> "" Then
	Response.Write(fixpic(Replace(sContent,"\'","'")))
End If
Medlem sedan nov. 20018 492 inlägg
#10

Lang är en session. Koden du skickade fungerade utmärkt! Datan fanns väl helt enkelt men ville inte skrivas ut flera gånger, gammalt klassiskt problem. :)

Danke!

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