Avatar billede zeptic Nybegynder
23. april 2002 - 13:53 Der er 7 kommentarer og
1 løsning

Case NULL

Er det ikke muligt at lave en Select...Case på NULL? Jeg er godt klar over at man undersøge for det i case else, og der lave en IsNull, men jeg vil hellere have det som en selvstændig case.

Mao., hvorfor udskrives der else i nedenstående, hvis junk er NULL??

Select Case Junk
Case NULL
      Response.Write("NULL")
Case -1
      Response.Write("-1")
Case 0
      Response.Write("0")
Case else
      Response.Write("else")
end select
Avatar billede gitrian Nybegynder
23. april 2002 - 14:04 #1
Har du prøvet at skrive Response.Write(NULL) ?
Avatar billede gitrian Nybegynder
23. april 2002 - 14:05 #2
Sorry - Fik ikke læst det ordentligt - se venligst bort fra mit meget dårlige svar ovenover
Avatar billede zeptic Nybegynder
23. april 2002 - 14:07 #3
Det er ikke det der er min pointe. Pointen er, at jeg ikke kan matche værdien af Junk i en Select/Case, såfremt denne er NULL.
Avatar billede zeptic Nybegynder
23. april 2002 - 14:08 #4
zbs: jeg troede også lige for et kort sekund, at du var hel lam i roen :o)
Avatar billede Slettet bruger
23. april 2002 - 15:01 #5
Har du prøvet med "Is"?

.... Case Is Null

(husk mellemrummet)

/CS
Avatar billede Slettet bruger
23. april 2002 - 15:05 #6
... forget it - doesn't work with Null...

/CS
Avatar billede coltau Juniormester
23. april 2002 - 21:41 #7
Dit problem kan løses både/og. !

Følgende kode virker. (I bestemte tilfælde)
<%
    Select Case Junk
    Case vbNullString
      Response.Write("vbNullString")
    Case -1
      Response.Write("-1")
    Case 0
      Response.Write("0")
    Case else
      Response.Write("else " & Junk)
    end select
%>
Ovenstående kode virker hvis Junk er en string der ikke har fået tildelt en værdi eller eks:  Junk = Request.Form("Navn") og Navn er blank.

Den virker ikke hvis du har udført denne linie først.
  Junk = RS("Navn")
også selvom feltet navn i databasen virkelig er NULL. ?

Så hvis du skal anvende den på felter fra en database kommer du ikke uden om if-sætningen:
  if not IsNull(Junk) then
    osv ...

og for at gå videre ...

Du kan udskifte konstanten: vbNullString med vbNull, hvilket heller ikke giver det ønskede resultat. (vbNull er konstanten for "VarType indeholder ikke valid data") (vbNullString er konstanten for "string uden indhold" ikke det samme som "tom string")

Selv disse linier er det rene kuk:
    Select Case RS("Navn")
    Case vbNull

vbNull er ikke det samme som Null i en SQL-sætning.

Husk på at NULL er et reserveret ord i en SQL-sætning - men ikke et reserveret ord i ASP.

Håber det gav lidt forvirring.
Avatar billede zeptic Nybegynder
25. april 2002 - 13:42 #8
coltau: tak for forklaringen, og ja, data kommer fra en database, så det er nu lavet med if not IsNull(Junk).
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester