webForumDet fria alternativet

Ogiltig användning av Null: 'Replace'

7 svar · 295 visningar · startad av Fireh

FirehMedlem sedan jan. 2003173 inlägg
#1

Hej!

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?

solbulleMedlem sedan mars 20015 287 inlägg
#2

Du skall icke göra någon replace när du sen visar posterna.

FirehMedlem sedan jan. 2003173 inlägg
#3

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

solbulleMedlem sedan mars 20015 287 inlägg
#4

Okelidoki.

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.

solbulleMedlem sedan mars 20015 287 inlägg
#5
Function Secure(mess)
  If NOT IsNull(mess) then
	mess = Replace(mess, "'", "''")
  End If
	Secure = mess
End Function

Red./ lagt till ett litet "Then".

Kinkigt, :e

FirehMedlem sedan jan. 2003173 inlägg
#6

Sådär ja, nu fungerar det!
Fick dock slänga in ett Then i slutet på If-satsen.
Borde egentligen ha kommit på innebörden själv, men är lite trött :P

Tack så mycket!

ConnyFoxMedlem sedan aug. 20011 087 inlägg
#7

Ah denna koden var exakt vad jag behövde till min filmdatabas

(filmtitlar innehåller ju ofta just ')

tack!

FirehMedlem sedan jan. 2003173 inlägg
#8

Vad tror du att jag hade problem med?

Kolla felmeddelandet i orginalinlägget:
/register/film/add-change.asp, line 4

Hehe!
:)

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