Ja, ok. Syntes heller ikke jeg kunne se hvad jeg skrev forkert. Må lige rode lidt med det og se om jeg kan finde fejlen. Ved nemlig at den er tom, og har også prøvet med if rs("etellerandet") = " " then....
Altså jeg tror jeg skal lære at tænke normalt Er jeg den eneste som tænker at hvis rs("Noget") = "" Så er den tom og hvis rs("Noget") = Null Så er den ikke defineret sådan er min tankegang :o)
Jeg har et lidt ambivalent forhold til tom i denne sammenhæng, for på den ene side er det jo svært at argumentere for at "" ikke er en tom streng, men på den anden side ser jeg strengværdien "" som en parallel til den numeriske værdi 0 og den opfatter du vel ikke som tom... eller hvad? Principielt er jeg uenig i den betragtning at "" betyder tom. Det er for mig blot en streng, som tilfældigvis ikke har noget tekstindhold (men det er dog stadig en valid information af typen streng med længden 0).
Et andet aspekt jeg tager i betragtning når emnet "tom variabel" tages op, er den kontekst hvori spørgsmålet bliver stillet. I dette tilfælde er det i forbindelse med databaser hvor en anden mulighed for et felt er at det er NULL/udefineret, derfor nævner jeg også dette som en mulighed, mhp. at fremme fejlsøgningsprocessen (jeg har lært at man skal opstille alle muligheder, forfølge de mest sandsynlige først og gradvist be- eller afkræfte dem - hvis man ikke har andre muligheder, kan man ligeså godt forfølge dem der virker usandsynlige, men dog stadig mulige...).
Jeg ved det går hen og bliver en lille smule akademisk og derfor ønsker jeg egentlig ikke, at gå ind i en dybere (evt. ophedet) debat om hvorvidt det ene eller det andet er korrekt, men siden du spørger vil jeg blot give min egen holdning til kende :)
jeg vil gerne give dig ret "" er en tom streng, men asp giver jo ikke en type fejl hvis man sammenligner if 0 = "" then Så giver den blot false Derfor så synes jeg at det er en ok sammenligning sproget taget i betragtning Men jeps nok om det :o) hehe
at 0 = "" giver false skyldes jo at VBScript konverterer 0 til "0" og dermed er de jo ikke ens. I et typestærkt sprog som ikke lavede konverteringer bag din ryg, ville dette givetvis resultere i en type mismatch...
Hehe, ok tror jeg stod lidt af ved linieeee .... 0 :-) Fandt ud af at det nok var null som jeg skulle have fat i. Troede bare at det var det samme at skrive "" og null. Men det har jeg nu fået bekræftet (tror lige jeg skal læse det en gang til for at følge jer).
Normalt indføre jeg data ved indsættelse på alle felter, uanset om jeg skriver noget i formen ell. ej. Men eftersom jeg har rodet meget med mine asp filer i denne uge, glemte jeg at jeg ikke havde indført "etellerandet" i min insert sætning. Derfor blev der ikke indført "" og derfor var feltet helt tomt og ikke næsten tomt???? :-D
Man kan altid sætte sig op og sige hvad er mest "korrekt" Det er rigtigt at de fleste sprog ville give en type fejl eller en anden fejl Men i og med asp selv konverterer, så kan man lige så godt benytte det nemmeste synes jeg if "" & rs("etellerandet") = "" then burde virke fordi asp konverterer værdien til en streng uanset om den er Null eller 0 eller Array(1,2,3) eller hvad den er if rs("etellerandet") = Nothing Or rs("etellerandet") = "" Kunne man måske så sige var mere korrekt, men hvis det er et array er det jo ikke nothing, og det er heller ikke en streng, så igen "snyder" asp if IsNull(rs("etellerandet")) Or rs("etellerandet") = "" Må derfor være "den rigtige løsning" til at finde ud af om rs("etellerandet") enten er Null eller en tom streng --- Men ja, meningerne er nok delte ;o) I princippet mener jeg at alt der virker efter hensigten kan man ikke snakke om ikke er korrekt
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.