如果a> 0或a = 0& b< 0或b = 0语句不起作用

时间:2010-07-21 10:19:56

标签: xml asp-classic if-statement

我是ASP的新手(新工作使用的是Windows服务器,之前我只使用过Linux)而且我正在构建一个“日志”,将其数据存储到XML文件中。我已经完美地阅读了XML,但现在我正试图打印出特定日期范围内的数据。

我这样做的方法是使用DateDiff函数将XML条目中的日期与用户定义的日期进行比较,然后输出一个数字。如果此数字对于开始日期大于1而对于结束日期小于1,则将显示该数字。 startdate部分可以工作,但无论我在结束日期的哪个日期,它都会从startdate向上打印所有内容。

这是我的代码

<%
Response.Buffer = True
session.lcid=2057
Set entries = Server.CreateObject("Microsoft.XMLDOM")
Set entry = Server.CreateObject("Microsoft.XMLDOM")
Set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = False
xml.load (Server.MapPath("log.xml"))

set entries = xml.getElementsbyTagName("entry")

noOfEntries = entries.length
If Request.Form("findLog") = "true" Then
    CheckLog
End If
%>
<html>
<head>
<title>GM Log</title>
</head>
<body>
<p>Please enter the dates that you want to view the log from</p>
<form name=form1 action=readlog.asp method=post>
<p>Start date: <input type=text name=startdate>End date: <input type=text name=enddate>
<input type=hidden name=findLog value=true>  <input type=submit value="Search"></p>

</form>

<%
Sub CheckLog 
     startDate = Request.Form("startdate")
     LastDate = Request.Form("enddate")
     Response.Write("<table border=5>")
     For i = 0 To (noOfEntries - 1)
         Set entry = entries.item(i)
         If isDate(entry.childNodes(0).text) Then
             meh = CDate(entry.childNodes(0).text)
             beginning = DateDiff("d", startDate, meh)
             Response.Write ("<p style=""color: red"">days from startdate: " & beginning & "</p>")
             ended = DateDiff("d", LastDate, meh)
             Response.Write ("<p>days from today: " & ended & "</p>")
             If beginning + 1 > 0 or beginning + 1 = 0 & ended < 0 or ended = 0 Then
          Response.Write("<tr>"&_
 "<td>" & entry.childNodes(0).text & "</td>"&_
 "<td>" & entry.childNodes(1).text & "</td>"&_
 "<td>" & entry.childNodes(2).text & "</td>"&_
 "<td>" & entry.childNodes(3).text & "</td>"&_
 "<td>" & entry.childNodes(4).text & "</td>"&_
 "</tr>")
             End If
       End If  

    Next
    Response.Write("<table>")
End Sub
%>

</body>
</html>

这是我的XML文件布局。

<?xml version="1.0"?>
<GM>
    <entry>
         <date>15/07/2010</date>
         <time>1515</time>
          <conversation>Dave down the Pub</conversation>
          <information>This is another test.</information>
          <action>Colin Wren</action>
     </entry>
     <entry>
          <date>20/07/2010</date>
          <time>1700</time>
          <conversation>Sam</conversation>
          <information>this is a test</information>
          <action>Colin</action>
    </entry>
</GM>

我确信这只是我的愚蠢和煎炸我的大脑看太久但是任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:0)

也许您想要以下内容?

If beginning + 1 >= 0 And ended <= 0 Then

请注意,对于VB中的逻辑AND操作,您必须使用And运算符。