ASP代码出错

时间:2010-03-29 05:51:02

标签: asp-classic

下面的ASP代码在'Dim MonthNum = Month(“Ctxtdatefrom”)'中有一些错误 可以帮助解决这个问题。

If session("cmbLeaveType")=2 then

    set rs2 = objconn.execute("select * form Particulars where empid='" & session("empid") & "'") 

    if Nationality = ABC then

        Dim MonthNum=Month("Ctxtdatefrom")
        Dim MonthNum2=Month("ctxtdateto")

        If(MonthNum=5 and monthnum2=5)
            if tdays>1 then

            else
                set rs = objconn.execute("insert into leavebank (empid, datesubmit, datefrom, dateto....
            END IF 
        END IF 
    END IF 
END IF 

如果国籍是“国家A”,则第5个月允许的休假数量为1.

如果(MonthNum = 5且monthnum2 = 5)

如果tdays> 1,那么

- >你能纠正吗

1 个答案:

答案 0 :(得分:1)

我猜你看到的错误如下:

Microsoft VBScript compilation error '800a0401' 

Expected end of statement 

/test.asp, line 11 

Dim MonthNum = Month("Ctxtdatefrom") 
-------------^

抛出此错误是因为您无法调暗并在VBScript中分配一行。

如果你改写为:

Dim MonthNum
MonthNum = Month("Ctxtdatefrom") 

你会更接近你的目标 - 虽然你几乎肯定会遇到另一个错误 - 你对月份功能的调用并不像你想象的那样。

通过将变量Ctxtdatefrom包装在双引号中,实际上是将包含值Ctxtdatefrom的文字字符串传递给VBScript Month函数。

您想要做的是:

Dim MonthNum
MonthNum = Month(Ctxtdatefrom) 

只要该变量包含有效的VBScript日期格式,这应该可以正常工作。

您可以找到一些阅读here

上面说过 - 根据你的代码,你几乎肯定会看到更多的错误,我建议你找一个可以在ASP经典和VBScript中指导你的人,阅读一些在线教程或者一步到位时间和帖子详细和具体的问题在这里。