ASP和MS访问

时间:2010-07-05 06:54:41

标签: ms-access asp-classic ado

set rs5 = objconn.execute("Select Sing from LeaveEntitlement where MonthEntitle = '"& Month(ttodate)& " ' ")                
do until rs5.eof   
  if rs5("Sing") then   
  s = rs5("Sing")  
Loop

在数据库表LeaveEntitlement中,MonthEntitle是从1月到12月的字段Nmae(文本数据类型).Sing是另一个字段(数字数据类型),每个月都有值。但是 S什么也没有回来。

可以帮助解决这个问题。

Oded,非常感谢您解决我的问题。

2 个答案:

答案 0 :(得分:2)

只是在黑暗中捅了一下,看起来你的sql末尾有一个额外的空间,你输入月份名称。可能不匹配任何记录。

答案 1 :(得分:1)

表中可能没有与您搜索的月份对应的行。

您是否直接针对数据库检查了查询是否返回任何行?

修改

您似乎在数据库中使用月份名称,但Month函数返回月份。您将其放在'中,因此您将在查询中发送一个包含该数字的字符串 - 这就是您没有收到类型错误以及为什么没有返回结果的原因。

您可以MonthName使用Month

where MonthEntitle = '" & MonthName(Month(ttodate)) & "' "