webForumDet fria alternativet

Type missmatch

9 svar · 657 visningar · startad av Mika3l

Mika3lMedlem sedan nov. 20018 492 inlägg
#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?

@ndersMedlem sedan juni 200032 969 inlägg
#2

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

Mika3lMedlem 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

voigtann1Medlem 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],"\'","'")))
@ndersMedlem sedan juni 200032 969 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å.

Mika3lMedlem 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

headbugMedlem sedan sep. 2006867 inlägg
#7

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

Mika3lMedlem 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.

voigtann1Medlem 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
Mika3lMedlem 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!

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)