webForumDet fria alternativet

istället för isnull

ASP

17 svar · 369 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Frågan#1

vad bör man använda istället för isnull när if-satser har 'not' med sig?

<% if not isnull(databas) then 
else
end if

i mitt fall kommer null-värdet från sql-databas, men det känns inge roligt att behöva skriva så här!
är: if len(databas) >0 then... en duglig variant?

(är detta en liten bugg i vb-script måntro?)

Medlem sedan dec. 200012 464 inlägg
#2
if "" & databas <> "" then
'här finns något
else
'här finns inget, antingen är det null eller ""
end if

Det är ingen bugg, det är bara att man skiljer på null och ""

Medlem sedan maj 200010 687 inlägg
#3

En funktion jag tycker är smidigt. :)

Function IsBlank(ByVal str)
	IsBlank = Len(Trim(str & "")) = 0
End Function
Medlem sedan juni 20003 076 inlägg
#4

ja, det kan ju vara nått! coolt!

Det är ingen bugg, det är bara att man skiljer på null och ""

en liten bugg tycker jag att det ändå är med tanke på att 'else' gör så att if-satsen funkar ändå (men det är inte rätt!)!

Medlem sedan maj 200010 687 inlägg
#5

Ursäkta, men vad yrar du om?
Du skulle ju bara kunnat hoppa över Not och inte ha någon else...

Medlem sedan juni 20003 076 inlägg
#6

sorry, missade lite i förklaringen på första inlägget, jag ville alltså slippa "fulkoda" med en else för att fixa if-taggen.
jag vill alltså ha

if not isnull(databas) then
'här ska det vara saker
end if

men det går ju ej.
men denna går

if not isnull(databas) then
else
'här ska det vara saker
end if

jag gillade din funktion dock! :bire

Medlem sedan maj 200010 687 inlägg
#7

Men då är det ju bara till att inte skriva Not.

if isnull(databas) then
'här ska det vara saker
end if
Medlem sedan maj 200010 687 inlägg
#8

Eller om man använder min funktion som klarar av Null, "" och Empty.

if isblank(databas) then
'här ska det vara saker
end if
Medlem sedan juni 20003 076 inlägg
#9

det är jag som har huvet fyllt med gröt, eller nått!
naturligtvis menar jag:

if not isnull(databas) then
'här ska det vara saker
end if

if isnull(databas) then
else
'här ska det vara saker
end if

jag kör på funktionen dock! :bire

Medlem sedan maj 200010 687 inlägg
#10

Förstår fortfarande inte vad du menar. Vad är det för fel på den första koden du skrev nu?

Medlem sedan juni 20003 076 inlägg
#11

jo det är så att den inte funkar, det går ej skriva if not isnull!
(har inte lyckats i alla fall)

Medlem sedan maj 200010 687 inlägg
#12

Det funkar, men troligen har du "" i databsen och inte null. På det sättet är ju min funktion bra. :)

Medlem sedan juni 20003 076 inlägg
#13

Det funkar, men troligen har du "" i databsen och inte null.

hmm, det är så att jag har två tabeller med en left join emellan och jag vill kolla om det finns poster i den högra
och vill då köra typ, if not isnull(tabell2.id) then..., blir inte id´t null då?
det går ju med din funktion, men man är ju alltid nyfiken!

Medlem sedan maj 200010 687 inlägg
#14

Jo, då ska det ju bli null...

Medlem sedan juni 20003 076 inlägg
#15

okej, tillbaka till början!
en gång för alla, ska man kunna skriva:

if not isnull(tabell2.id) then
'här ska det vara saker
end if

ja eller nej?

(sen ska jag släppa detta ämne)

Medlem sedan maj 200010 687 inlägg
#16

Errm, du får ju skriva rs("id")...

Medlem sedan juni 20003 076 inlägg
#17

nu var jag tydligen övertydlig, jag menar inte att jag skriver (tabell2.id) utan bara att det är den kolumnen jag checkar.
posterna hämtas för övrigt med getrows och blir då en array i slutändan.

kanske är det därför så klart!, arrayen är inte längre null då, eller?

Medlem sedan maj 200010 687 inlägg
#18

Kan vara det... :)

285 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
153 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)