【发布时间】:2019-09-22 10:14:27
【问题描述】:
我有一个经典的 ASP 网页,它从数据库中检索数据并将其显示在 HTML 表中。在某些情况下,可能没有任何数据,我想捕获这种情况并显示一条信息性消息。这是我的代码的 sn-ps:
MySite = "filedsn=" & Server.MapPath("/" & WebName & "/fpdb/reffiles/accessdsn.dsn") & ";DBQ=" & Server.MapPath("/" & WebName & "/fpdb/reffiles/my.mdb") & ";DefaultDir=" _
& Server.MapPath("/" & WebName & "/") & ";"
set MyDatabase = server.createobject("ADODB.Connection")
Mydatabase.open(MySite)
strSQLMin = "SELECT Format(Min(Date_Time),'dd/mm/yy') AS MinOfDate_Reading, Format(Min(INV_Bat), '###0.0') AS MinOfTempBat, " _
& "Format(Min(INV_tfmr), '###0.0') AS MinOfTempTransf, Format(Min(INV_FET), '###0.0') AS MinOfTempFET, " _
& "Min(BMK_soc) AS MinOfStateOfCharge, min(BMK_vdc) AS MinOfBatDCVolts, Format(Min(BMK_adc),'###0') AS MinOfBatDCAmps, " _
& "Min(INV_VACout) AS MinOfInvACVoltsOut, Min(INV_AACout) AS MinOfWInvACAmpsOut, format(Min(INV_VACin),'###0') AS MinOfInvACVoltsIn, " _
& "Format(Min(INV_AACin),'###0') AS MinOfInvACAmpsIn, Format(Min(INV_vdc),'###0') AS MinOfInvDCVolts, " _
& "Format(Min(INV_adc),'###0') AS MinOfInvDCAmps, Format(Min(INV_Hz),'###0') AS MinOfACFreq " _
& "FROM magnum2 WHERE (((tbl2.Date_Time)<Now() And (tbl2.Date_Time)>Now()-1))"
set WeekRecMin = MyDatabase.Execute(strSQLMin)
为了在创建和填充网页表格之前检查是否返回了任何记录,我在表格周围添加了这段代码
<% response.write("<h2>EOF and BOF are : " & weekRecMin.eof & " - " & weekRecMin.bof & "</h2>") %>
<% if WeekRecMin.EOF=true then %>
...HTML code ...
<% else %>
<% response.write("<tr><td class='auto-style6'><h4>no data found for the past 24 hours. <br/> Database may be out-of-date</h4></td></tr>") %>
<% end if %>
我观察到的是,无论查询是否返回数据,EOF 和 BOF 都是错误的,否则页面和代码工作正常。我做错了什么?
【问题讨论】:
标签: sql database asp-classic