Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.17;
Скачать: CL | DM;

Вниз

Не обновляется набор данных   Найти похожие ветки 

 
RDA   (2003-06-22 11:47) [0]

Использую FIBPlus.
Текст запросов

SelectSQL - select * from ORG where STATUS="0"

и для обновления

UpdateSQL - select * from ORG where ( STATUS="0" ) and ( ORG.ID = ?OLD_ID )

Выполняется следующий код

with DM do
if not DovOrg.IsEmpty then
if (Application.MessageBox("Вилучити запис?","Підтвердження",MB_YESNO+MB_ICONQUESTION)=idYES) then
begin
DovOrg.Edit;
DovOrgSTATUS.AsInteger:=1;
DovOrg.Post;
end;

После чего запись видна в гриде, хотя вижу точно в IBManager что поле статус изменено.
Из опций TfibDataSet
AutoCommit=True
Options=[poTrimCharFields,poRefreshAfterPost,poStartTransaction,poAutoFormatFields,poAllowChangeSqls]


 
RDA   (2003-06-22 11:55) [1]

Добавил две строчки и код выглядит так

with DM do
if not DovOrg.IsEmpty then
if (Application.MessageBox("Вилучити запис?","Підтвердження",MB_YESNO+MB_ICONQUESTION)=idYES) then
begin
DovOrg.Edit;
DovOrgSTATUS.AsInteger:=1;
DovOrgDATASTATUS.AsDateTime:=Date;
DovOrg.Post;
DovOrg.Active:=False;
DovOrg.Active:=True;
end;

Все нормально. Но ведь должно быть иначе, или нет?


 
RDA   (2003-06-22 12:04) [2]

Сори, второй текс запроса для RefreshSQL.


 
RDA   (2003-06-23 09:02) [3]

Поднимаю вопрос


 
Zacho   (2003-06-23 09:11) [4]

А так и должно быть. Запись уже есть в кэше датасета - и исчезнуть она может только при переоткрытии запроса, или если ее удалить.


 
RDA   (2003-06-23 09:40) [5]

Но ведь кеш, если не ошибаюсь, настраивается. Можно ли как-то избежать переоткрытия набора?


 
Johnmen   (2003-06-23 09:48) [6]

А что, просто вызов Refresh не помогает ?


 
RDA   (2003-06-23 10:08) [7]

>>Johnmen
Нет. Я пробовал.


 
Zacho   (2003-06-23 10:10) [8]


> RDA © (23.06.03 10:08)

Просто сделай фильтр по этому полю.


 
RDA   (2003-06-23 10:30) [9]

>>Zacho
Это не решение вопроса, кроме того Johnmen смотри первый пост
Options=[poTrimCharFields,poRefreshAfterPost,poStartTransaction,poAutoFormatFields,poAllowChangeSqls]

Набор должен рефрешиться после поста автоматом.


 
Johnmen   (2003-06-23 10:44) [10]

Вижу. Должен. Вот только рефреш предполагает обновление одной и только одной записи, то есть select д.вернуть одну...Здесь это не так. И, видимо, придется переоткрывать.


 
RDA   (2003-06-23 15:01) [11]

Неужели нет другого решения?


 
Zacho   (2003-06-24 09:35) [12]


> RDA © (23.06.03 15:01)

А чем фильтр не устраивает ? Записи конечно никуда не исчезнут, но видно их не будет.


 
RDA   (2003-06-24 10:53) [13]

На запрос, удовлетворяющий условиям, наложить фильтр?


 
Zacho   (2003-06-24 10:57) [14]


> RDA © (24.06.03 10:53)

Filtered:=true;
и в обработчике OnFilterRecord что-то типа
Accept:=DovOrgSTATUS.AsInteger:=0;


 
RDA   (2003-06-24 12:49) [15]

Нет. Такое решение возмлжно при отсутсвии других. Набор рефрешится. Да.Почему не работает?


 
Zacho   (2003-06-24 12:51) [16]


> RDA © (24.06.03 12:49)

На этот вопрос уже ответил Johnmen © (23.06.03 10:44)



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

Текущий архив: 2003.07.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
1-55506
nap
2003-07-02 21:05
2003.07.17
Оптимизация


1-55623
Луарвик
2003-07-03 19:20
2003.07.17
CheckListBox


14-55806
Renegate
2003-06-30 08:19
2003.07.17
DelphiX


1-55587
mrcat
2003-07-03 10:11
2003.07.17
Цвет выделения ос для элементов управления.


3-55414
AlexTregubov
2003-06-23 23:45
2003.07.17
Упаковка базы данных MS Access





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