Ivan_Pisarevsky писал(а):У меня всегда есть поле с ключем, уникальность обеспечивается генератором. Новое значение берется через обертку для генератора в виде ХП, примерно такого вида:
Код: Выделить всё
CREATE PROCEDURE GET_N_USER
RETURNS (
NUMBER INTEGER)
AS
begin
number=gen_id(gen_n_user,1);
suspend;
end
или аналогичный результат попроще
Код: Выделить всё
select gen_id(gen_n_user, 1) as number from rdb$database
Так что значение ключевого поля для выделеной записи всегда под рукой, даже если запись я только создаю.
Ну почитай хотя бы статьи, здесь, на сайте... а то я выше ртфм озвучиваю.
Ребята, ну я ещё не совсем идиот
И генератор есть, и процедура тоже есть (селектом как-то не очень нравится) и с уникальностью у поля первичного ключа всё нормально.
А вооще, извините что мОзги компостировал. Ответ на свой вопрос (который, признаться, не верно сформулировал)я кажется нашел в статье "Как работает БДЕ".
Так что общий привет и спасибо за подсказки.
ЗЫ
kdv писал(а):
Цитата:
Можно ли как нибудь заполучить порядковый номер записи в гриде, а потом с использованием етого номера с записью чёнить сделать, или фигня получится (так, просто интересно)?
гм, ну какой, нафиг, "порядковый номер" записи ??? Даже в Парадоксе такого понятия нет. Первичный ключ - (вдумайся), это столбец, значение которого ИДЕНТИФИЦИРУЕТ ЗАПИСЬ. Берешь его и по ПК с этой записью делаешь что хочешь.
В общем-то я имел в виду следующее:
Если в таблице пользователь не установил поле с первичным ключом, как в этом случае курсор грида может запомнить на какой записи находился, и можно ли эту информацию извлечь и использовать.
Из статьи про БДЕ, я так понял, что с помощью TBookmark? Или я опять чего-то не то понял.