If statement if-then语句不起作用
我一直在尝试各种组合,以使这个If statement if-then语句不起作用,if-statement,for-loop,asp-classic,If Statement,For Loop,Asp Classic,我一直在尝试各种组合,以使这个if-then语句在我的ASP页面上起作用。我已经从2 access数据库中调用了字段,然后我需要比较这两个字段,以查看是否有一个工具对它们进行了报告 起初,我使用设施名称作为两个数据库文件的锚。在名称中出现双引号的问题之前,它工作得相当好。这个代码有效 <% for k=0 to y-1 if (B(1,k)) = facility then %>•<a href="
if-then
语句在我的ASP页面上起作用。我已经从2 access数据库中调用了字段,然后我需要比较这两个字段,以查看是否有一个工具对它们进行了报告
起初,我使用设施名称作为两个数据库文件的锚。在名称中出现双引号的问题之前,它工作得相当好。这个代码有效
<%
for k=0 to y-1
if (B(1,k)) = facility then
%>•<a href="detail-e.asp?ID=<%=B(0,k)%>"><%=B(2,k)%></a><br /><%
end if
NEXT
%>
&bull
因此,我所做的只是在第二个数据库(第12行)中添加一个设施id号,因为该id已经存在于第一个数据库中
<%
for k=0 to y-1
response.write(ID)
response.write("\")
response.write(B(12,k))
if (B(12,k)) = ID then
response.write("TRUE")
%>•<a href="detail-e.asp?ID=<%=B(0,k)%>"><%=B(2,k)%></a><br /><%
else
response.write("FALSE")
end if
response.write("<br>")
NEXT
%>
&bull
正如你所看到的,我已经测试过这些值实际上是相同的。此的结果,如果
为
2006225\2006225假2006225\2007101假2006225\2006225假
2006225\2004245假2006225\279025假2006225\2006225假
2006225\2006225假2006225\2006225假2006225\2006225假
由于示例代码没有显示名为ID的变量是如何分配的,我的第一个猜测是,这可能是由于变量在VBscript中没有类型化,并且您可能没有在上述代码中为上述变量或数组分配预期的类型。您可能希望使用强制连接来确保计算基于字符串类型。您可以在VBscript中连接空字符串,以强制它将整个表达式作为字符串进行求值(编写输出时也会发生这种情况)。如果它是这样工作的,那么很可能您的变量实际上被分配到了一个记录集字段,而不是字符串值或类似的东西
if ("" & B(12,k)) = ("" & ID) then
您应该使用适当的ASP标记来标记您的问题,例如
ASP.Net
如果(“&B(12,k))=(”&ID),那么
99%在那里,第二次尝试不起作用,但您是对的。即使我提取数字,MS Access中的字段也是纯文本类型。