【问题标题】:How do I write this IF statement within my ASP page?如何在我的 ASP 页中编写此 IF 语句?
【发布时间】:2015-10-27 06:39:01
【问题描述】:

只有当数据库中的值为真时,我才尝试在网站上显示图像。我使用下面的代码作为模板(目前正在工作)作为我的指南,尽管我的更简单。任何帮助将不胜感激。

<% strSQL4 = valid SQL statement
   set r4 = d2.execute(strSQL4)
   if (r4.EOF = False) and (r4.BOF = False) then
   else
       r4.moveFirst
       while (r4.EOF = False) and (r4.BOF = False) %>
<li><%= r4("Database Field") %></li>
<% r4.movenext
   wend
   end if %>

这是我基本上在模拟的代码,但我只是想在数据库中的布尔变量为真时显示图像,根据我下面的代码:

<%# ACTLBool = "SELECT ACTL FROM ATTORNEYS WHERE ATTY_ID = " & AttorneyID
   if (ACTLBool = True) then %>
<div id="ACTLDiv"><img id="ACTLLogo" src="img/ACTL.jpg" alt="ACTL Logo" /> </div>
<%# else end if %> 

如果 ACTLBool 为假,我不需要它做任何事情。有什么想法吗?

【问题讨论】:

  • 如果您从数据库中获取数据,您将需要某种记录集(模板中的 r4)。 ACTLBool 不会是 true,它将是一个包含您的 SQL 的字符串。
  • 我的数据库中的 ACTL 字段是一个是/否字段。好的,这有点道理,在获取记录集后我将如何提取布尔值?
  • 我的意思是,它似乎是 r4.getsomething 或 r4.ACTL。
  • 如果您使用 ADO,w3schools.com/asp/ado_recordset.asp 可能是一个有用的参考。 stackoverflow.com/questions/3837902/… 也可能是一个有用的链接。
  • 这是什么?不认识语法&lt;%#??你确定这不是 ASP.Net?看起来像数据绑定语法。

标签: asp-classic


【解决方案1】:

假设 conn 是您的 adodb.connection 对象

Dim rs : set rs = conn.execute("SELECT count(ACTL) as c FROM ATTORNEYS WHERE ATTY_ID = " & CLng(AttorneyId))
If rs("c") > 0 Then
    response.write "<div id='ACTLDiv'><img id='ACTLLogo' src='img/ACTL.jpg' alt='ACTL Logo' /> </div>"
End If
Set rs = Nothing

【讨论】:

  • 嘿@frumbert,我有点困惑你为什么要在数据库中计算“是/否”字段。
  • 好吧@Joseph,因为我不知道你的数据库,ACTL 可以是任何类型的字段。我想我错过了SELECT count(ACTL) as c FROM ATTORNEYS WHERE ACTL=true AND ATTY_ID = " &amp; CLng(AttorneyId) 以仅捕获真实状态(例如,c = 0 当匹配的ATTY_ID 或ATTY_ID 与记录不匹配时,c = 0),因此您可以避免 EOF/BOF测试。
  • 在我原来的帖子中,我展示了 ACTL 是一个布尔变量,它要么是真要么是假。
  • 好吧,当我把它放在那里时,我第一次通过时并不是很清楚。
猜你喜欢
  • 2016-06-28
  • 1970-01-01
  • 2021-10-13
  • 2010-10-29
  • 1970-01-01
  • 2023-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多