2

这是一个记录集。

...
 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

我只是试图检查,但这段代码会发生错误。 (下面的错误信息由谷歌翻译)

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的新手,谢谢。

4

2 回答 2

3

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

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

VBScript 中没有三元运算符。

于 2012-10-12T11:12:31.010 回答
2

试试下面的例子:

if adoRecordset.EOF Then
  REM do something
else
  REM do something
end if
于 2012-10-12T11:12:18.367 回答