Jag skulle vilja kolla av om ett fält i databasen är tomt eller inte, så här ser min kod ut. Om fältet 'bild' i databasen är tom vill jag att 'transparent.gif' ska visas annars ska den hämta bilden från databasen. Jag får den att hämta bilden men inte den transparenta bilden om fältet är tomt. då kan det bero på att fältet är NULL. Jonas, is operatorn i VB används för att testa vilket objekt en variable pekar mot. T.Ex.:Kollla av om ett fält i databasen är tomt eller inte
<tr>
<td class="brodtext" width="150" valign="top"><%Response.Write rs2("fldEIngress")%></td>
<% If rs2("bild") = "" Then %>
<td class="brodtext" width="150" align="right"><img src='../bilder/transparent.gif' width='1' height='1'></td>
<% Else %>
<td class="brodtext" width="150" align="right"><img src="../upload_filer/upload/<%=rs2("bild")%>" width=113 height=113 border='0'></td>
<% End If %>
</tr>
Sv: Kollla av om ett fält i databasen är tomt eller inte
If rs2("bild") = "" OR rs2("bild") IS NULL Then
annars helt rätt!Sv: Kollla av om ett fält i databasen är tomt eller inte
<% If IsNull(rs2("bild")) Then %>
<td class="brodtext" width="150" align="right"><img src='../bilder/transparent.gif' width='1' height='1'></td>
<% Else %>
<td class="brodtext" width="150" align="right"><img src="../upload_filer/upload/<%=rs2("bild")%>" width=113 height=113 border='0'></td>
<%End if%>
Eller:
<% If Len(rs2("bild"))>0 Then %>
<td class="brodtext" width="150" align="right"><img src="../upload_filer/upload/<%=rs2("bild")%>" width=113 height=113 border='0'></td>
<% Else %>
<td class="brodtext" width="150" align="right"><img src='../bilder/transparent.gif' width='1' height='1'></td>
<%End if%>
Sv:Kollla av om ett fält i databasen är tomt eller inte
Set rs1 = Server.CreateObject("ADODB.Recordset")
Set rs2 = rs1
If rs1 Is rs2 Then
'....
End If
Denna exempel kod kontrollera om det är samma objekt som ligger lagrad i variaberna.
Man kan även kolla om en instans är tilldelad till variabeln:
<code>
If Not rs Is Nothing Then
rs.Close
Set rs = Nothing
End If
</close>
Om du har operationer på null så blir det lite mer complext. I vb representeras Null av en egen datatyp: Null. Du kan därför inte använda Is Operatorn, vilket jag tror du tagit från SQL syntax där den har en annan definition.
Operationer på null blir null. T.ex. :
A = Len(Null)
B = Null > 0
X = 1 + Null
Y = "" + Null
Z = (Null = "")
Alla dessa operationer ger null som resultat.
Null utvärderas som icke sant i en if sats:
If Null Then
Respons.Write "True"
Else
Response.Write "False"
End If
Med denna informationen behöver man inte kolla om den är null. Utan gardera sig mot det genom att plaserar det tomma vilkoret i false:
temp = Null
If temp <> "" Then
Response.Write "Strängen innehåller något!"
Else
Response.Write "Strängen är tom!"
End If
Det är en kort genom gång. Hoppas den varit informativ.