webForumDet fria alternativet

problem med isnull()

8 svar · 315 visningar · startad av logic

logicMedlem sedan maj 2004118 inlägg
#1

Hej! Jag börjar bli klar med forumet, men nu återstår lite irriterande buggtestning och säkring av inmatningar.

Det mest irriterande problemet just nu är detta:

När jag hämtar ett rs och ska skriva ut datat, kollar jag om kolumnen är tom och är den det, hoppar jag över det.

Men det fungerar inte prickfritt, ibland fungerar det och ibland inte!
Koden jag använder är:

if not isnull(rs("signatur")) then
response.write "<hr size=1>"
response.write replace(server.htmlencode(rs("signatur")),vbCrLf,"<br />")
end if

Nån aning om vad som blev galet? Nåt förslag på hur man skulle kunna formulera om frågan så den fungerar bättre?

Tack på förhand!

m_soderlundMedlem sedan sep. 20024 733 inlägg
#2

Testa

if len(rs("signatur"))>0 then
&nbsp;&nbsp;&nbsp;response.write "<hr size=""1"">"
&nbsp;&nbsp;&nbsp;response.write replace(server.htmlencode(rs("signatur")),vbCrLf,"<br />")
end if
logicMedlem sedan maj 2004118 inlägg
#3

Det fungerade utmärkt.

Men varför fungerar inte min kod?

Erik JuhlinMedlem sedan maj 20007 625 inlägg
#4

Den fungerar när det är null i databasen, men inte om det är en tom sträng i databasen.
m_soderlund's kod fungerar dock inte om strängen är null. För att klara av båda fallen så får man skriva:

if len(rs("signatur") & "") then
   response.write "<hr size=""1"">"
   response.write replace(server.htmlencode(rs("signatur")),vbCrLf,"<br />")
end if
m_soderlundMedlem sedan sep. 20024 733 inlägg
#5

I din kod kollar du om ett värde är sant eller falskt. I min kod kollar jag om värdet är större än 0.

devGuru:
- IsNull
- Len

@ndersMedlem sedan juni 200026 914 inlägg
#6

På vilket sätt fungerar det inte ibland?

- - - -

Eftersom len(null) är null, och ingen siffra, hade jag inte vågat mig på if-satsen i martins inlägg. Jag hade kanske istället gjort så här:

sSig = "" & rs("signatur")
if len(sSig) > 0 then
   response.write "<hr size=""1"">"
   response.write replace(server.htmlencode(sSig),vbCrLf,"<br />")
end if

"" & tar hand om null.

mvh

K@llenMedlem sedan mars 20032 654 inlägg
#7

I så fall bör man även använda sig av en trim() på rs("signatur"). Är signatur " ", dvs ett blanksteg blir villkoret i if-satsen sant.

@ndersMedlem sedan juni 200026 914 inlägg
#8

Mja, om man nu lagrar poster som består av bara mellanslag så är det så klart en bra idé!

K@llenMedlem sedan mars 20032 654 inlägg
#9

@nders skrev:

Mja, om man nu lagrar poster som består av bara mellanslag så är det så klart en bra idé!

Om så är fallet förtäljer inte historien. ;)

Genererad på 382 ms · cache AV · v20260730165559-full.f96bc7eb