![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Определитть последнюю запись.
bmw © (2008-09-12 15:42:00)Удалено модератором
Примечание: спам
Anatoly Podgoretsky (2008-09-12 16:47:00) [1]> Правильный$Вася (12.09.2008 16:03:04) [4]
Не повторяюсь, а закрепляю пройденый материал.
Правильный$Вася (2008-09-12 16:20:00) [2]вот
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1220531255&n=18
MsGuns (2008-09-12 16:11:00) [3]Понятие "запись" имеет разные смыслы.
Для БД это одна строка одной из таблиц либо курсора внутри представления, функции либо хранимой процедуры. Причем если речь идет именно о таблице, то записи не имеют ни первый, не последний порядковый номер ибо они располагаются совершенно непредсказуемым образом и порядок их ФИЗИЧЕСКОГО расположения внутри БД не имеет никакого значения.
Для "клиента" запись - это одна строка набора данных, который может быть "отражением" таблицы либо ее части (в случае фильтра), а также просто набором строк, полученных в результате выполнения запроса (где и задаются упомянутые в сабже условия) сервером из одной или нескольких таблиц, представлений, функций или хранимок или даже вообще взятых не из таблиц БД. В этом случае записи располагаются в определенном порядке, устанавливаемом либо самим сервером (некоторые сервера сами упорядочивают записи по возрастанию значений извлеченных полей: 1-го, 2-го и т.д.) либо явно в запросе SQL-оператором ORDER BY. В наборе данных получить первую запись или последнюю запись можно с помощью методов First или Last
Если имеется в виду последняя ХРОНОЛОГИЧЕСКИ ДОБАВЛЕННАЯ в таблицу БД запись, то ее можно определить по максимальному уникальному идентификатору, если он имеется в таблице. Запрос примерно такой:
Select * from Table
where ID=(Select Max(ID) from Table)
Правильный$Вася (2008-09-12 16:03:00) [4]
> Anatoly Podgoretsky © (12.09.08 16:00) [3]
ай, повторяешься, дядя Толя
лучше б уж урл дал
Anatoly Podgoretsky (2008-09-12 16:00:00) [5]SELECT COUNT(*) Counter FROM table (не БД)
Если Counter = 1 то последнея, иначе еще есть.
Правильный$Вася (2008-09-12 15:48:00) [6]в бд нет записей, тем более последних
Palladin (2008-09-12 15:47:00) [7]TDataSet.Eof + F1