Текущий архив: 2008.10.19;
Скачать: CL | DM;
ВнизПроверка на последнюю запись Найти похожие ветки
← →
zzz (2008-09-04 16:27) [0]Удалено модератором
Примечание: спам
← →
stas © (2008-09-04 16:30) [1]чем определяется порядок?
← →
Правильный$Вася (2008-09-04 16:31) [2]в бд нет записей
в таблице нет понятия "первый/последний"
все порядки определяются только запросами с ORDER BY
← →
zzz (2008-09-04 16:32) [3]порядок определяется в SQL-запросе
← →
Ega23 © (2008-09-04 16:33) [4]
> порядок определяется в SQL-запросе
А что в таком случае "текущая запись"?
← →
Правильный$Вася (2008-09-04 16:36) [5]
> порядок определяется в SQL-запросе
тогда почему текущая запись в БД?
запрос - это не БД, он набор данных возвращает
Query.EOF, BOF
← →
stas © (2008-09-04 16:36) [6]select top 1 myfield from mytable order by myfield1 ?
← →
fellow (2008-09-04 16:36) [7]
> Как проверить является ли текущая запись в БД последней,
> первой
только по полю такому как: "автосчетчик" с уникальными значениями при условии что не будет изменятся порядок уникальности.. во закрутил :)
← →
Правильный$Вася (2008-09-04 16:40) [8]
> только по полю такому как: "автосчетчик"
глупости
а если у меня соединение 10 таблиц, в каждой из которых свой "автосчетчик"?
> select top 1
субд не указана, так что бесполезно
← →
Сергей М. © (2008-09-04 16:41) [9]
> порядок определяется в SQL-запросе
SQL-запрос позвращает записи из сформированного набора данных, а не из БД.
На кл.стороне текущая запись в открытом непустом НД является :
- первой, если при обращении к предыдущей записи НД сигналит о состоянии BOF
- последней, если при обращении к следующей записи НД сигналит о состоянии EOF
← →
stas © (2008-09-04 16:41) [10]скорее всего автору нужно
Правильный$Вася (04.09.08 16:36) [5]
← →
fellow (2008-09-04 16:47) [11]
> а если у меня соединение 10 таблиц, в каждой из которых
> свой "автосчетчик"?
клиент сам должен определить главную таблицу по которой он решит какой автосчетчик последний..
← →
fellow (2008-09-04 16:48) [12]
> автосчетчик последний..
пардон...
ГЛАВНЫЙ
← →
Johnmen © (2008-09-04 16:50) [13]
> клиент сам должен определить главную таблицу по которой
> он решит какой автосчетчик последний..
"Автосчетчиков" может не быть. Так что не надо бреда...
← →
fellow (2008-09-04 16:54) [14]
> Johnmen © (04.09.08 16:50) [13]
> "Автосчетчиков" может не быть. Так что не надо бреда...
так покажите выход из ситуации.
p.s. я написал вариант решения..
← →
Медвежонок Пятачок © (2008-09-04 16:57) [15]если при некст возникает еоф, значит последняя.
если при приор боф, то первая.
← →
Johnmen © (2008-09-04 16:58) [16]
> fellow (04.09.08 16:54) [14]
> так покажите выход из ситуации.
Его уже сказали неоднократно. [5], [9]
← →
Правильный$Вася (2008-09-04 16:59) [17]
> клиент сам должен определить главную таблицу по которой
> он решит какой автосчетчик последний..
хочу поглядеть это для картезиана
← →
fellow (2008-09-04 17:19) [18]ну если [5] и [9]?
тогда Query.first и Query.last
не перебирая все для eof
← →
fellow (2008-09-04 17:30) [19]p.s.
это если нужно сразу на них попасть
← →
Медвежонок Пятачок © (2008-09-04 17:43) [20]а чем таким волшебным отличаются первая и последняя записи от других, что их потребовалось отличать?
← →
Anatoly Podgoretsky © (2008-09-04 19:42) [21]Count(*) from table
и если результат равен единице, то запись последнея.
← →
Правильный$Вася (2008-09-04 20:39) [22]ну и шуточки у вас, дядя Толя
с таким же успехом можно спросить у пользователя "а не на последней ли записи мы сейчас торчим?"
← →
Anatoly Podgoretsky © (2008-09-04 21:04) [23]> Правильный$Вася (04.09.2008 20:39:22) [22]
А я что виноват, что автор так поставил вопрос, а не так как ты. На его вопрос другого ответа нет, или запись последнея или еще есть и другие.
← →
palva © (2008-09-04 21:33) [24]Ну так за то, чтоб не последняя...
← →
oldman © (2008-09-04 21:52) [25]
> fellow (04.09.08 17:19) [18]
> ну если [5] и [9]?
> тогда Query.first и Query.last
Наивный...
С чего ты взял, что последняя запись в Квери есть физичеки последняя в БД?
← →
stas © (2008-09-04 22:03) [26]fellow (04.09.08 17:19) [18]
зачем перебирать? ему надо узнать первая или нет
if adoquery.bof then showmessage ("данная запись первая в полученом наборе данных")
← →
DVM © (2008-09-04 22:09) [27]
> и если результат равен единице, то запись последнея.
:)))))
← →
DVM © (2008-09-04 22:10) [28]У некоторых принято говорить "крайняя" :)
← →
Правильный$Вася (2008-09-04 22:16) [29]
> или запись последнея или еще есть и другие
я бы вставил "или пока еще есть другие"
но быстро закончатся
;)
← →
oldman © (2008-09-04 22:18) [30]
> zzz (04.09.08 16:32) [3]
> порядок определяется в SQL-запросе
Предположим ты узнал, что запись N есть последняя в БД.
А зачем, можно спросить?
← →
palva © (2008-09-04 23:43) [31]
> А зачем, можно спросить?
Значит, пора покупать новую БД. Старая уже на исходе.
← →
oldman © (2008-09-05 00:11) [32]Удалено модератором
← →
fellow (2008-09-05 14:53) [33]
> oldman © (04.09.08 21:52) [25]
>
> > fellow (04.09.08 17:19) [18]
> > ну если [5] и [9]?
> > тогда Query.first и Query.last
>
>
> Наивный...
> С чего ты взял, что последняя запись в Квери есть физичеки
> последняя в БД?
я не говорил что в БД
я так думаю чтобы узнать, что она крайняя в БД нужно поле "счетчик" - иначе вроде никак
> if adoquery.bof then showmessage ("данная запись первая
> в полученом наборе данных")
вот именно, в наборе данных, но думается мне что автору нужно в БД :)
← →
evvcom © (2008-09-05 15:05) [34]Во глумеж! :O)
АП плодисменты :)
← →
MsGuns © (2008-09-12 16:42) [35]var
s: string;
begin
s := "Запись посерединке";
with ADODataSet1 do
if RecNo=1 then
begin
s := "Запись 1-я"
if RecordCount=1 then s := s+" и единственная"
end
else
if RecNo=RecordCount then s := "Запись последняя";
ShowMessage(s);
end;
Страницы: 1 вся ветка
Текущий архив: 2008.10.19;
Скачать: CL | DM;
Память: 0.52 MB
Время: 0.006 c