想检查Recordset是否有一些价值

时间:2012-10-12 11:05:21

标签: asp-classic ternary-operator

这是一个记录集。

...
 Set adoCommand = CreateObject("ADODB.Command")
 Set adoConnection = CreateObject("ADODB.Connection")
...
 adoCommand.CommandText = strQuery
 Set adoRecordset = adoCommand.Execute

我需要检查这个记录集是否有一些价值。

If adoRecordset.Fields("userid").Value Then 
   'do something...
Else
   'do something...
End If

我只是试图检查但是这段代码发生了错误。 (以下错误消息由Google翻译)

ADODB.Recordset Error '800a0cc1'
Item cannot be found in the collection corresponding to the requested name or ordinal

如果可能,我想使用三元运算符。 我不知道哪个部分是错的。

userid = adoRecordset.Fields("userid").Value ? adoRecordset.Fields("userid").Value : sw

请理解我是asp的新手,谢谢。

2 个答案:

答案 0 :(得分:3)

在尝试按名称访问它们之前,您需要检查结果集中是否存在任何行:

If adoRecordset.eof Then 
  '//no rows
else
  '//

VBScript中没有三元运算符。

答案 1 :(得分:2)

请尝试以下示例:

if adoRecordset.EOF Then
  REM do something
else
  REM do something
end if