Avatar billede tobbi Nybegynder
06. marts 2002 - 14:36 Der er 20 kommentarer

check for null i ms sql database

Hej

jeg henter nogle oplysninger fra en ms sql server. Disse oplysninger skrives ud til brugeren, men hvordan kan jeg checke om felterne er tomme inden de skrives ud.

jeg bruger Javascript og har prøvet med følgende kode eks. :

if(variabel!=null).....

if(variabel!="").....

if(rs("feltnavn")!=null)....

if(rs("feltnavn")!="")....

men synes ikke noget af det virker.
Avatar billede rou Nybegynder
06. marts 2002 - 14:40 #1
IS NULL
Avatar billede senj Nybegynder
06. marts 2002 - 14:41 #2
I din SQl kan du definere at du ikke vil have tomme poster med op i dit recordset, på den måde sikrer du at dit recordset kun indeholder records med data.

eks. "Select * from table where kollonne1 IS NOT NULL"
Avatar billede tobbi Nybegynder
06. marts 2002 - 14:48 #3
det forstår jeg ikke helt(senj)...
hvad nu hvis jeg vil have vist alle rækker men ikke de kollonner som er tomme ??

Hvis jeg bruger IS NULL siger den syntax fejl, eks.
if(noget IS NULL)...
er det korrekt
Avatar billede senj Nybegynder
06. marts 2002 - 14:51 #4
De rækker i din base der ikke giver mening hvis x antal kolonner er tomme, dem tjekker du i din SQL, så behøver du ikke tjekke det i applikationen.
Avatar billede tobbi Nybegynder
06. marts 2002 - 14:52 #5
nnaaaa, IS NULL er vist SQL synktaks eller hva ?
men det kan jeg ikke rigtig bruge i denne sammenhæng
Avatar billede tobbi Nybegynder
06. marts 2002 - 14:54 #6
det er fordi jeg altid skal skrive nogle af kolonnerne ud, men ikke alle.....
Avatar billede senj Nybegynder
06. marts 2002 - 14:55 #7
Hvis du skal tjekke det i JS, skal du huske at asp skal fortolkes i <%%>

Altså
if(<%rs("feltnavn")%>!="")
{

}
Avatar billede tobbi Nybegynder
06. marts 2002 - 14:55 #8
kan man ikke checke om en kolonne er tom via ASP ???
Avatar billede senj Nybegynder
06. marts 2002 - 14:57 #9
Nej ikke kolonnen, men recordsettet. SQL tjekker kolonner og ASP kan tjekke dit recordset.
Avatar billede tobbi Nybegynder
06. marts 2002 - 14:58 #10
eller fx. :

<%if(rs("feltnavn")!="")....%>

som jeg ikke kan få til at virke
Avatar billede tobbi Nybegynder
06. marts 2002 - 14:59 #11
ja ok jeg ved godt det er recordsettet, den checker men det virker heller ikke.
Avatar billede senj Nybegynder
06. marts 2002 - 15:01 #12
hvad tjekker du dit recordset med?
Avatar billede senj Nybegynder
06. marts 2002 - 15:01 #13
altså koden
Avatar billede tobbi Nybegynder
06. marts 2002 - 15:05 #14
jeg har prøvet med ovenstående eksempler uden held, lige meget om der står noget i feltet eller ej, vil den altid udføre koden.

fx.

if(rs("feltnavn")!=null){kode}
Avatar billede senj Nybegynder
06. marts 2002 - 15:09 #15
Jeg forstår ikke at du ikke tjekker det i basen først. Hvor mange felter i basenm henter du op?
Avatar billede tobbi Nybegynder
06. marts 2002 - 15:12 #16
omkring 14...

det er fordi at rækken stadig skal hentes selv om nogle af kolonnerne er tomme...
Avatar billede senj Nybegynder
06. marts 2002 - 15:15 #17
Hvad er det du vil gøre hvis pladsen i recordsettet er tomt?
Avatar billede tobbi Nybegynder
06. marts 2002 - 15:16 #18
så er der nogle ting som ikke skal skrives ud på skærmen.
Avatar billede tobbi Nybegynder
06. marts 2002 - 15:24 #19
det er resultatet af en søgning som skal vises, jeg ved ikke på forhånd hvor mange rækker der kommer frem eller hvilker kolloner der er udfyldt.... derfor ville jeg gerne have mulighed for at vise resultatet forskelligt efter om der står noget i et felt eller ej.
Avatar billede tobbi Nybegynder
06. marts 2002 - 15:55 #20
måske mit spørgsmnål skulle have været...

hvordan checker man om et felt i en record er tomt i et recordset ?
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