2015-02-04 3 views
0

Итак, у меня есть этот запрос в SQL. Я знаю, является ли запись последней в наборе записей:Как узнать, является ли последняя запись

sql = SELECT * FROM table WHERE RID = 27 
Set rs=Conn.Execute(sql) 

If not rs.EOF Then 

    iID = rs("RID") 
    If iID = LAST Then response.write ("this is last record") End If 

End If 
Conn.Close 
Set Conn = Nothing 

Любой способ сделать это?

ответ

3

Не знаю, почему вы должны сделать это, но вы могли бы сделать что-то вроде этого:

sql = SELECT * FROM table WHERE RID = 27 
Set rs=Conn.Execute(sql) 

If not rs.EOF Then 

    rs.MoveNext 
    If rs.EOF Then 
     response.write ("this is last record") 
    End If 

End If 
Conn.Close 
Set Conn = Nothing 

Учитывая характер вашего запроса, похоже, вы получите только 1 строку в любом случае, так это, кажется, своего рода бессмысленно ,

+0

Получаю, что вы говорите. Эта страница - моя страница подробностей. Итак, вы правы, запрос возвращает 1 строку. Могу ли я использовать ваш пример, чтобы узнать, является ли эта запись последней записью в таблице? – Brasciole

+1

Конечно, но, как я сказал, если есть только 1 строка, зачем беспокоиться о дополнительном коде? Однако вы можете использовать ту же самую вещь внутри цикла. –

+0

где вы вставляете rs.MoveNext? После строки Set rs-Conn.Execute (sql): – Brasciole

0
<% 
sql = "SELECT MAX(RID) FROM table " 
Set rs=Conn.Execute(sql) 

isLast = "no records" 
If not rs.BOF Then 
if rs(0) = 27 then '' 27 or somone else for your taste 
    ifLast = "last record" 
else 
    ifLast = "not last record" 
end if 
End If 

Response.Write isLast 

Conn.Close 
Set Conn = Nothing 
%> 
Смежные вопросы