连接到sql server时的空白页 - 经典的asp

时间:2012-06-09 14:03:29

标签: sql-server asp-classic

我需要帮助当连接到经典asp中的数据库时,我得到一个持续的空白页面。 为了安全起见,我更改了一些连接字符串。我知道这个字符串有效,因为我可以在vb.net中连接它。

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Search Test</title>
</head>

<body>
<% 
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Data Source=ServerIP;Initial Catalog=Database;User ID=Username;Password=Password"

strSql = "SELECT * FROM categories Where idParentcategory=1 ORDER BY categorydesc ASC"

Set rs = Conn.Execute(strSql)

If rs.eof Then
   Response.write("No records returned")
End If

do until rs.eof
   Response.write(rs("categorydesc") &  "<br>")
   rs.movenext
loop

Conn.Close
Set Conn = Nothing
 %>
</body>
</html>

2 个答案:

答案 0 :(得分:1)

如果它显示空白页面,您是否有可能看不到on error resume next(可能是在包含文件中)?

我会通过检查eof来处理这个问题,然后只在> 的情况下循环遍历结果集

Set rs = Conn.Execute(strSql)

If rs.eof Then
  Response.write("No records returned")
Else
  do until rs.eof
    Response.write(rs("categorydesc") &  "<br>")
    rs.movenext
  loop
End If

rs.Close : set rs = nothing
Conn.Close : set Conn = Nothing

这与@ 03Usr的答案没有什么不同,除了:

  1. 您应该能够确定页面空白的原因。
  2. 除了关闭和处理您的连接对象外,您还应该关闭并处理您的记录集对象(即使它是空的)。

答案 1 :(得分:0)

试试这个:

If not rs.eof then
Do while not rs.eof or rs.bof 
      Response.write(rs("categorydesc") &  "<br>")
    rs.movenext
    Loop
 Else
      Response.Write "No records found"
 End If