经典ASP数组不返回值,错误500

经典ASP数组不返回值,错误500

问题描述:

我正在执行相同的代码多次生成一个表。我的第一个想法是使用数组来做到这一点。经典ASP数组不返回值,错误500

这是我迄今为止得到:

Dim iRow 
iRow = 0 

'alternate color for rows 
Do While Not rsGlobalWeb.EOF 
If iRow Mod 2 = 0 Then 
    response.write "<tr bgcolor=""#FFFFFF"">" 
Else 
    response.write "<tr bgcolor=""#EEEEEE"">" 
End If 

'some other code 
SqlBackup = "SELECT * FROM CMDBbackup WHERE Naam_Cattools = '" & rsGlobalWeb("Device_name") & "'" 
Set rsBackup = Server.CreateObject("ADODB.Recordset") 
rsBackup.Open SqlBackup, dbGlobalWeb, 3  

'declaration of array 
Dim fieldname(5),i 
fieldname(0) = "Device_name" 
fieldname(1) = "Image" 
fieldname(2) = "Backup" 
fieldname(3) = "Uptime" 
fieldname(4) = "Processor" 
fieldname(5) = "Nvram" 

For i = 0 to 5 
    If rsGlobalWeb(fieldname(i)) <> "" Then 
     response.write("<td>" & rsGlobalWeb(fieldname(i)) & "</td>") 
    Else 
     If Not rsBackup.EOF Then 
      If Not IsNull(rsBackup(fieldname(i))) And (rsBackup(fieldname(i)) <> "") Then 
       response.write("<td>" & rsBackup(fieldname(i)) & " (backup)</td>") 
      End if 
     Else 
      response.write("<td>No data found</td>") 
     End if 
    End if 
Next 

response.write("</tr>") 

iRow = iRow + 1 
rsGlobalWeb.MoveNext 
Loop 

的问题我现在是,即使寿我都友好的信息关闭,则会出现以下错误:

“500 - 内部服务器错误。 您正在查找的资源存在问题,无法显示。“

日志文件显示以下内容: “DaEngineSDB.asp | 58 | 800a000d | Type_mismatch 80 - ”其中58是带有Dim Fieldname的行。

没有数组它确实显示代码的其余部分(我有1个其他字段被添加)。如果我删除数组并填写字段名(i)与一个正常的字符串值,它也可以正常工作。

我正在尝试谷歌说的东西,但尝试了几件事后,我仍然跑到墙上。 任何想法可能是什么?

由于提前,

埃里克

问题解决!

在我的头靠在墙上撞了一天之后,我发现我愚蠢地在DO WHILE循环中声明了数组。将声明移出并解决问题。

首先,你应该打开错误在您的IIS显示,或读取错误日志其描述,如果不知道如何google一下。

没有错误描述,检查出错是太困难了。

+0

感谢您的回复,我检查了日志文件,它显示:DaEngineSDB.asp | 58 | 800a000d | Type_mismatch。第58行的完整代码是Dim fieldname的行。 – Meridius