Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.07.20;
Скачать: [xml.tar.bz2];

Вниз

Проследняя запись в таблице   Найти похожие ветки 

 
Муслик   (2008-06-17 10:50) [0]

Скажите пожалуйста как узнать последнюю запись в таблице  (BDE)


 
Ega23 ©   (2008-06-17 10:51) [1]

На сервере? На клиенте? СУБД какая? Ключевое поле есть?


 
Правильный-Вася   (2008-06-17 10:52) [2]

Table.Last


 
affonya   (2008-06-17 10:52) [3]

select * from table order by desc;


 
Поросенок Винни-Пух ©   (2008-06-17 10:52) [4]

что значит "узнать"?
в лицо что ли? или по запаху?


 
Ega23 ©   (2008-06-17 10:53) [5]


> select * from table order by desc;


За такое сразу оторвать гениталии. Дабы всемирный генофонд не портить.


 
Муслик   (2008-06-17 10:53) [6]

огромное спасибо Спасибо! to Поросенок Винни-Пух по левой пятке!


 
Поросенок Винни-Пух ©   (2008-06-17 10:54) [7]

тебя надули. там нет последней записи в принципе.


 
affonya   (2008-06-17 10:59) [8]

то ega
хе хе , но вариант то верный .. проверьте -) а Table.Last; тоже поидее работать будет.

select max(id) from table - последняя запись


 
Муслик   (2008-06-17 11:04) [9]

а почему не работает
panel3.Caption:= IntToStr(table3.Last);


 
Sergey13 ©   (2008-06-17 11:05) [10]

> [9] Муслик   (17.06.08 11:04)

Потому что надо
panel3.Caption:= "Левая пятка";


 
Поросенок Винни-Пух ©   (2008-06-17 11:06) [11]

пипец что называется.


 
Муслик   (2008-06-17 11:07) [12]

Я понимаю что это глупо но мне надо выводить последнюю запись


 
Поросенок Винни-Пух ©   (2008-06-17 11:08) [13]

"узнавать", "выводить"

странные у тебя желания :)))


 
Муслик   (2008-06-17 11:14) [14]

Хорошо поставлю вопрос понятней... есть 3 таблицы 1 ко многим... так вот у каждой записи есть свой номер вот мне нужно присвойитть зфтуд последнюю запись ячейки


 
Anatoly Podgoretsky ©   (2008-06-17 11:19) [15]

Да у тебя ни базы, ни таблиц нет, иначе бы давно похвастался этим.


 
Поросенок Винни-Пух ©   (2008-06-17 11:20) [16]

свой номер-то в поле находится.
вот его значение и выводи.


 
Ega23 ©   (2008-06-17 11:20) [17]


> хе хе , но вариант то верный .. проверьте -)


Даю вводную: есть таблица, в ней миллион записей. Каждая запись состоит из 20 полей. В трёх из них - лежат BLOBы, каждый не менее мегабайта.

А теперь выполняй свой вариант нахождения последнего id.

To Аффтар:

Ещё раз спрашиваю какая СУБД и есть ли ключевое поле.


 
Муслик   (2008-06-17 11:26) [18]

BDE. В том то и дело что ключевого поля нет...


 
Поросенок Винни-Пух ©   (2008-06-17 11:30) [19]

оно здесь все равно мало чем поможет.
ну допустим ключ там фамилия имя отчество.
и чего?


 
Ega23 ©   (2008-06-17 11:38) [20]


> ну допустим ключ там фамилия имя отчество.


Тогда надо другую стратегию выбирать. Был бы ключ с счетчиком - можно было бы через MAX сработать.


 
Игорь Шевченко ©   (2008-06-17 11:41) [21]

Субд BDE не существует


 
Anatoly Podgoretsky ©   (2008-06-17 11:44) [22]


> Ещё раз спрашиваю какая СУБД и есть ли ключевое поле.

Читать [15] и [18]


 
Василий Жогарев ©   (2008-06-17 11:54) [23]


>  Проследняя запись в таблице
>
> Муслик   (17.06.08 10:50)  
> Скажите пожалуйста как узнать последнюю запись в таблице
>  (BDE)

Ответ1:

> Правильный-Вася   (17.06.08 10:52) [2]
> Table.Last

Ответ2:

> affonya   (17.06.08 10:52) [3]
> select * from table order by desc;

ЗЫ
Может ты хотел сказать: SELECT TOP 1 * FROM [TABLE] ORDER BY [FIELD] DESC
Ответ 3:

> affonya   (17.06.08 10:59) [8]
> то ega
> хе хе , но вариант то верный .. проверьте -) а Table.Last;
>  тоже поидее работать будет.
>
> select max(id) from table - последняя запись

Только наверное:
SELECT     *
FROM         [TABLE] t
WHERE     (Kod IN
                         (SELECT     MAX(Kod) AS Kod
                           FROM          [TABLE] AS d
                           WHERE      (t.[Field] = d.[Field])))

или по дате...
SELECT *
FROM [TABLE] t
WHERE ([Date] = (SELECT MAX([Date]) AS [Date] FROM [TABLE] d))


 
Игорь Шевченко ©   (2008-06-17 11:55) [24]


> Может ты хотел сказать: SELECT TOP 1 * FROM [TABLE] ORDER
> BY [FIELD] DESC


Для СУБД Oracle в самый раз


 
Anatoly Podgoretsky ©   (2008-06-17 11:59) [25]

> Василий Жогарев  (17.06.2008 11:54:23)  [23]

Ты несешь ответственность за свои слова или как?
Или ты телепат, не зная ни чего о базе такое заявить.
Садись два.


 
Anatoly Podgoretsky ©   (2008-06-17 12:04) [26]

> Игорь Шевченко  (17.06.2008 11:55:24)  [24]

И что вернет последнею запись в Таблице, а что у у Оракла есть такое понятие и что на это никакак не влияет примененый ORDER BY


 
Игорь Шевченко ©   (2008-06-17 12:06) [27]

Anatoly Podgoretsky ©   (17.06.08 12:04) [26]

Нет, не вернет. Даже первую не вернет, потому что синтаксис запроса неверный


 
андр.   (2008-06-17 12:09) [28]


> Anatoly Podgoretsky ©   (17.06.08 11:59) [25]

Несу ответственность точно также как и автор несет ответственность за свой вопрос, не указав используемую СУБД...


 
Anatoly Podgoretsky ©   (2008-06-17 12:09) [29]

> Игорь Шевченко  (17.06.2008 12:06:27)  [27]

Ну славо богу, а то я уже испугался за теорию РСУБД


 
Василий Жогарев ©   (2008-06-17 12:11) [30]

Сорри за разные ники... куки непотерты...


 
Муслик   (2008-06-17 12:15) [31]

СУБД Paradox.


 
Anatoly Podgoretsky ©   (2008-06-17 12:16) [32]

> Муслик  (17.06.2008 12:15:31)  [31]

Тогда что такое последняя запись?


 
Муслик   (2008-06-17 12:22) [33]

Существует таблица 1 - [№, Имя, Сумма]
Таблица 2 (привзанная к первой) - [№ Визы, Дата, Сумма]
Так вот № Визы ввожится вручную но порядковы, но не сделан ключевым так как может идти не попорядку тоесть 00120 и сразу за ним 00122 вот для каждого Имени из первой таблицы присваивается номер Визы вот мне нужно вывести последнюю запись из таблицы 2 № Визы, но не отдельного Агента а всей таблицы 2 или вывести просто последнюю запись Визы


 
Anatoly Podgoretsky ©   (2008-06-17 12:38) [34]

> Муслик  (17.06.2008 12:22:33)  [33]

Так тут никакими последнеми записями и не пахнет.

ЗЫ: не ищи последнею запись, не зная что это такое, поскольку сказать не можешь. Сумеешь объяснить, что такое последнея запись, то возможно получишь ответ или категорическое НЕ


 
Поросенок Винни-Пух ©   (2008-06-17 12:38) [35]

и что такое "последняя" запись при таком раскладе?


 
MsGuns ©   (2008-06-17 12:43) [36]

Связка Мастер-Детал, очевидно, представлена "волшебными" компонентами TTable
Тяжелый случай.

Для того, чтобы в детале найти тот самый "последний номер" есть два способа
1) При наличии индекса у детала на этот самый "последний номер" активировать этот индекс и тогда использовать метод Table2.Last, а затем уже

 Label1.Caption := Table2.FieldByName(<Имя поля с номером>).AsString;

2)Если индекса нет, то сканировать весь детал в поисках наибольшего значения пресловутого поля:

function TForm1.GetMaxNumber(DataSet: TDataSet) : integer;
var
 bm: TBookMark;
begin
 result := -1;
 with DataSet do
   begin
    bm := GetBookMark;
    DisableControls;
    First;
    While Not Eof do
       begin
         if FieldByName(<Имя поля с номером>).AsInteger>result then
            result := FieldByName(<Имя поля с номером>).AsInteger;
         Next;
       end;
   GoToBookMark(bm);
   FreeBookMark(bm);
   EnableControls;
  end;
end;

Обращение:

 Label1.Caption := IntToStr(GetMaxNumber(Table2));

Но вообще все это уродливо, начиная от парадокса, продолжная отсутствием ключей и заканчивая TTable


 
Муслик   (2008-06-17 12:45) [37]

Последняя запись эта та запись, которую я в программе ввёл "последней".
Если кинуть на форму ещё грид отдельно и задать ей номер визы без  индекса точнее не связывать её с первой таблицей она мне показывает все полностью запись № Визы я могу просмотреть последнюю запись но это не выход из положения я так думаю


 
Муслик   (2008-06-17 12:49) [38]

MsGuns © при твоей функции она будит показывать сколько записей в таблице  Label1.Caption := IntToStr(GetMaxNumber(Table2)-1);


 
Ega23 ©   (2008-06-17 12:49) [39]


> Так вот № Визы ввожится вручную но порядковы, но не сделан
> ключевым так как может идти не попорядку тоесть 00120 и
> сразу за ним 00122 вот для каждого Имени из первой таблицы
> присваивается номер Визы вот мне нужно вывести последнюю
> запись из таблицы 2 № Визы, но не отдельного Агента а всей
> таблицы 2 или вывести просто последнюю запись Визы


Так вот, для этого дела существует суррогатный ключ: есть ключевое поле-счётчик и есть поле "номер Визы" с уникальным индексом. Счетчик назначается автоматически самой СУБД и является первичным ключом. И ему пофиг на порядковые номера виз и другие поля. Номер визы вводится вручную, при этом уникальный индекс не даёт возможности ввести 2 одинаковых номера. И, кстати, он вообще строкой может (и ИМХО даже должен) являться.

Читать про проектирование БД.


 
Поросенок Винни-Пух ©   (2008-06-17 12:51) [40]

Последняя запись эта та запись, которую я в программе ввёл "последней".

Зашибись.
местное время 12:50
вставляем запись.
меняем время на 12:00
вставляем запись.

Какая из них будет "последней"?



Страницы: 1 2 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.07.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.54 MB
Время: 0.045 c
2-1213700808
Skary
2008-06-17 15:06
2008.07.20
TShellListView. Как мне узнать путь к каждому выделенному файлу


2-1213614223
Рустам1
2008-06-16 15:03
2008.07.20
delete from


15-1211970166
Randew
2008-05-28 14:22
2008.07.20
Вредно ли мышке постоянно "светится"?


1-1195325548
XDlf
2007-11-17 21:52
2008.07.20
TChart отображение графиков в рантайме


2-1214074663
Igor23
2008-06-21 22:57
2008.07.20
Подскажите новечку плиз D7+MySQL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский