2012-08-03 103 views
1

我有一個if語句,我很確定它是正確的,應該工作。但由於某種原因,事實並非如此。經典的ASP如果語句問題

while not oRs2.EOF 
if iCat = oRs2("id") then 
%> 
    <div class ="<%= oRs2("id") %><%= iCat %>"> 
<% 
else 
%> 
    <div class ="faqquestion <%= oRs2("id") %><%= iCat %>"> 
<% 
end if 
%> 

這就是你得到的。

<div class="faqquestion 11"> 
<div class="faqquestion 21"> 
<div class="faqquestion 31"> 

,但它應該是什麼

<div class="11"> 
<div class="faqquestion 21"> 
<div class="faqquestion 31"> 

不能看到什麼我做錯了,做1 = 1!?

如何變量被設置:

dim iCat 
iCat = request.QueryString("cat") 

dim sSQL 
sSQL = "Select * from table"   
set oRs2 = oConn.Execute(sSQL) 

回答

1

我認爲這個問題是數據類型之一。

比如我測試下面的腳本(只取內容,並放入一個文件名爲test.vbs,然後雙擊它:

dim i 
i = "1" 

dim j 
j=1 

if i = j then 
    msgbox "yes" 
else 
    msgbox "no" 
end if 
msgbox i & j 

這將輸出「沒有」和「11」。

在你的代碼中ICAT將是一個字符串作爲你只是從request.QueryString拉它,試圖將其轉換爲使用CInt

+0

ICAT始終爲1和ors2一個整數(「ID」)也含有1周第一次通過循環 – Beginner 2012-08-03 08:37:19

+0

啊 - 我明白了,它有效嗎?如果你讓if語句微不足道?例如'if 1 = 1' – 2012-08-03 08:45:44

+0

是的,我剛剛嘗試過,並且正常工作 – Beginner 2012-08-03 08:47:14