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

Вниз

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

 
OW ©   (2011-03-17 15:29) [0]

oracle, ODAC, компонента TSmartQuery

В таблице сказано
CREATE TABLE "ISS"."PRICE"
  ( "ID_PRICE" NUMBER NOT NULL ENABLE,
"ID_CONTRACT" NUMBER NOT NULL ENABLE,
"DATE_RELEVANCE" DATE NOT NULL ENABLE,
...

 CONSTRAINT "PK_ID_PRICE" PRIMARY KEY ("ID_PRICE")


Когда я KeyFields в объект инспекторе (ОИ) раскрываю, он мне здоровско предлагает ID_PRICE.

Как он это узнал?

Задача позиционировать курсор. после удаления. Хочу получить KeyFields, до записи, запомнить его значение и locate делать после переоткрытия


 
OW ©   (2011-03-17 15:39) [1]

procedure TForm1.RefreshWithKeepPos(Q: TSmartQuery);
var
 V: Variant;
begin
 Q.DisableControls;
 Q.Prior;
 V := Q.Fields[0].Value;
 Q.EnableControls;
 Q.Refresh;
 Q.Locate(Q.Fields[0].FullName, V, [loCaseInsensitive] );
end;

так тоже работает, т.к. Id всегда первым в запросе делаю
но так не нравится что-то


 
Sergey13 ©   (2011-03-17 15:57) [2]

А при чем тут удаление? И если надо удалять при чем тут переоткрытие? Короче как связаны удаление и переоткрытие?
Обычно после удаления указатель встает на следущую запись. Достаточно сделать Prior и желаемое достигнуто.


 
OW ©   (2011-03-17 16:03) [3]

Как связаны удаление и переоткрытие

DS в состоянии CashedUpdates
После всех манипуляция с ним, в том числе и если был delete, после commita надо переоткрыть, вдруг там еще что добавилось.
все хорошо, если запомнить текущую запись.
-------------
Вопрос не в этом, поздно подумал / рано написал
Вопрос как O узнал, какое поле у меня PK


 
Sergey13 ©   (2011-03-17 16:16) [4]

> вдруг там еще что добавилось.

ИМХО порочная практика. На 100% актуальность данных все равно не достижима долее чем на мгновение.

> Вопрос как O узнал, какое поле у меня PK

Может просто первое показал? 8-)
В принципе несложно пошуршать по системным таблицам user_XXX и узнать.


 
sniknik ©   (2011-03-17 17:32) [5]

> Может просто первое показал? 8-)
да нет, легко узнается по INFORMATION_SCHEMA (и/или, то же самое использует OpenSchema в ADO)
т.что показывает, что есть.


 
Игорь Шевченко ©   (2011-03-17 20:13) [6]


> Как он это узнал?


спросил у user_constraints


 
Abramov Petr V.   (2011-03-17 22:03) [7]


> После всех манипуляция с ним, в том числе и если был delete,
>  после commita надо переоткрыть, вдруг там еще что добавилось.
>

а почему после коммита? когда добавляют, твоего коммита не спрашивают, раз,  видно добавленное после ИХ коммита, два.

> Вопрос как O узнал, какое поле у меня PK
>

по словарю
http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/statviews_part.htm#i125539
там букаф дофига, но оно увлекательно, интересное/неинтересное сам отфильтруешь.


 
Кщд   (2011-03-18 07:45) [8]

>OW ©   (17.03.11 15:29)  
прошу прощения за оффтоп, но уже в нескольких Ваших топиках заметил, что имена объектов задаются строго в uppercase - чем обусловлено? корп. стиль или?...


 
OW ©   (2011-03-18 09:03) [9]

Sergey13 ©   (17.03.11 16:16) [4]
sniknik ©   (17.03.11 17:32) [5]
Игорь Шевченко ©   (17.03.11 20:13) [6]
Спасибо.


> а почему после коммита? когда добавляют, твоего коммита
> не спрашивают, раз,  видно добавленное после ИХ коммита,
>  два.

не понял
как это видно?
вот отурылся набор, похимичили с ним, закоммитили. С чего там появится то, что добавил другой юзер, и подходящие по условию начальной выборки первым юзером?


> Кщд   (18.03.11 07:45) [8]

да, он, наверное.
У нас не программерская контора. Как сказал начальник, "мы не программисты, мы инженеры и предоставляем сервис. Как мы это будем делать - никого не волнует. Хочешь  - вручную делай все, круглосуточно, но лучше написать софт, чтоб юзеры сами редактировали".

Мне ничего не сообщалось персонально, но все что открываю написано так.
Просто пишу так же и все


 
Sergey13 ©   (2011-03-18 10:14) [10]

> [9] OW ©   (18.03.11 09:03)
> вот отурылся набор, похимичили с ним, закоммитили. С чего
> там появится то, что добавил другой юзер, и подходящие по
> условию начальной выборки первым юзером?

Ну так если ты его [пере]открыл - почему не появятся то?


 
OW ©   (2011-03-18 10:16) [11]

если переоткрыть, то да, видятся

вопрос был
>> видно добавленное после ИХ коммита, два.
если не переоткрыть - не видятся


 
Sergey13 ©   (2011-03-18 11:05) [12]

> [11] OW ©   (18.03.11 10:16)

Ну так а кто про "переоткрытия DS" начал? 8-)



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

Форум: "Базы";
Текущий архив: 2014.08.31;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.002 c
15-1391254319
xayam
2014-02-01 15:31
2014.08.31
Проводник для больших папок


2-1381237944
12345
2013-10-08 17:12
2014.08.31
получить строку


2-1380735763
zibert
2013-10-02 21:42
2014.08.31
типы


11-1253508265
Soloton
2009-09-21 08:44
2014.08.31
ImageList у TaskBar


11-1252314935
Dy1
2009-09-07 13:15
2014.08.31
сжатие mdb





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский