[英]No errors in code, but data retrieved from database doesn't show up in listbox
[英]What wrong with my code? Why couldn't I assign “0” to data that being retrieved from database
由于在数据库中有一些记录具有Null值,因此将创建此代码来过滤没有在“ rsActQty”或“ rsSumQty”中分配值的记录集。 但是,无论我尝试了什么,似乎这段代码都无法检测到Null值。 而且我不知道我做错了什么。 那你能给我一些建议吗? 谢谢。 (此数据库位于MSACCESS中)
我想要的是:-仅显示具有“ rsActQty”或“ rsSumQty”值的记录。 -当此字段之一为NULL时,为其分配“ 0”。
<%
if Rs.eof then
response.write "<tr><td colspan=""6""> "
call displayNotFoundRecord
response.write "</td></tr>"
Else
Dim ActQty, sumQty, Total, rsActQty, rsSumQty, rsPdtn_qty_est, inv_date, res_date
Do while Rs.AbsolutePage = strPageCurrent And Not Rs.EOF
inv_id = rs.fields.item("inv_idRS")
rsActQty = rs.fields.item("sumOfinv_qty_act")
rsSumQty = rs.fields.item("SumOfres_qty")
rsPdtn_qty_est = rs.fields.item("SumOfpdtn_qty_est")
inv_date = rs.fields.item("inv_dateRS")
res_date = rs.fields.item("res_dateRS")
if rsActQty = "" then
ActQty = 0
else
ActQty = rsActQty
end if
if rsSumQty = "" then
sumQty = 0
else
sumQty = rsSumQty
end if
if rsActQty <> "" OR rsSumQty <> "" then
if inv_date = "" then
dateshow = res_date
else
dateshow = inv_date
end if
if res_date = "" then
dateshow = res_date
else
dateshow = res_date
end if
total = rs.fields.item("Total")
%>
<tr class='difcursor'>
<td class="btline" width="25" align="center"><input type="checkbox" name="inv_id" value="<%=inv_id%>" onClick="highlightRow(this,'#FFFFCC','#EFF4FA');"></td>
<td class="btline" <%=genLink(inv_id)%> nowrap style="padding-right: 10px"> <%=rs.fields.item("pd_id")%> </td>
<td class="btline" <%=genLink(inv_id)%> nowrap style="padding-right: 10px"> <%=rs.fields.item("pd_name")%></td>
<td class="btline" <%=genLink(inv_id)%> nowrap style="padding-right: 10px"> <%=PcsToDz(ActQty)%></td>
<td class="btline" <%=genLink(inv_id)%> nowrap style="padding-right: 10px"> <%'=PcsToDz(rs.fields.item("SumOfpdtn_qty_est"))%></td>
<td class="btline" <%=genLink(inv_id)%> nowrap style="padding-right: 10px"> <%=dateshow%></td>
<td class="btline" <%=genLink(inv_id)%> nowrap style="padding-right: 10px"> <%=PcsToDz(sumQty)%></td>
<td class="btline" <%=genLink(inv_id)%> nowrap style="padding-right: 10px"> <%=PcsTODz(Total)%></td>
<td class="btline"></td>
</tr>
<%
end if
Rs.movenext
Loop
End if
Rs.close
set Rs=nothing
Call DBConnClose()
%>
尝试使用isNull函数。 例如
if not isNull(rs.fields.item("sumOfinv_qty_act")) then
ActQty = rs.fields.item("sumOfinv_qty_act")
else
ActQty = 0
end if
空值与空白值不同。
您可以尝试将null强制为字符串并进行比较:
rsActQty = "" & rs.fields.item("sumOfinv_qty_act")
rsSumQty = "" & rs.fields.item("SumOfres_qty")
您还可以在SQL查询中处理null,例如:
select iif(isnull(fieldname),0,fieldname) as fieldname from table
这将为空值返回0。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.