Hittade en kod här tidigare idag som man använde för att kunna ha > ' < i värden när man sparade till databaser. Koden är följande:
Function Secure(mess)
mess = Replace(mess, "'", "''")
Secure = mess
End Function
Nu kör jag med Access databas, så jag får dubbla '' när jag sparar, men gjorde bara en omvänd replace när jag visar uppgifterna. Hur som helst... det fungerade fint, tills för ett tag sedan. Jag får upp följande felmeddelande när jag försökar uppdatera vissa poster:
Körningsfel i Microsoft VBScript (0x800A005E)
Ogiltig användning av Null: 'Replace'
/register/film/add-change.asp, line 4
Line 4 motsvarar mess = Replace(mess, "'", "''").
Vad kan vara fel?
Alltså, just i det här fallet så görs inte det. Där sker bara den replace som jag skrev. Det har fungerat bra på de upp till 40 första posterna i databasen, därefter har jag inte lyckats uppdatera något. Vet inte exakt var det tar stopp dock.
Om jag inte gör en replace när jag visar en post, så visas det t.ex. That''s life. Därför gör jag bara om 2 till 1 när det visas, men utan att databasen uppdateras. Det sker dock på en annan sida. så det är inte det som den klagar på.
Iofs, om jag läser vad du skriver istället för att bara svar så kanske jag har mer rätt i när jag säger att du får fdet felet du får pga att du försöker köra den där funktionen på en sträng/variabel som innehåller null. (Nada!)
Vet inte om det här är en vettig åtgärd, men:
Function Secure(mess)
mess = "" & mess
mess = Replace(mess, "'", "''")
Secure = mess
End Function
Annars, gör en koll att variabeln innehåller något innan du gör en replace.