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

Вниз

TIBQuery + IBUpdateSQL + Refresh = problem?   Найти похожие ветки 

 
Irka   (2005-09-10 18:45) [0]

Ситуация проста до безобразия, но..
В  IBUpdateSQL пока только прописан скрипт на refresh. Когда делаю рефреш (кликая на соотв. DBNavigator), то на месте текущей записи отображаются данные из первой записи.  
Думала, что проблема в DBGrid. Но даже при отсоединении последней ситуация та же (за данными наблюдала с помощью DBMemo).
В чем может бить причина и как с этим бороться.
Да, делфи7.


 
Mike Kouzmine ©   (2005-09-10 19:40) [1]

Запомни ИД записи и после рефрешь сделай ее текущей.


 
Irka   (2005-09-10 20:45) [2]

Спасибо, Mike Kouzmine.
После вашего ответа появилась мисль написать:

select * from MyTable
  where Id=:Id

вместо

 select * from MyTable


в Refresh IBUpdateSQL
помогло
:)


 
Irka   (2005-09-11 00:08) [3]

Почему етот запрос возвращает ВСЕ записи?


 
Irka   (2005-09-11 01:24) [4]

Не, конечно, я понимаю, но я  в шоке..
Тут, посоветовали мне посмотреть исхолдники, даже посоветовали примерно где..
Ну, начала от TDataSet.Refresh; потом к
TIBCustomDataSet.InternalRefresh; который вызывает пустышку inherited InternalRefresh; а затем собственно InternalRefreshRow;
Последняя, как я поняла, переносит первую запись, которая возвращается, согласно RefreshSQL, в поточную запись TIBQuery....
Тогда понятно, почему в случае использования select * from MyTable поточная запись забивалась "первой" и почему "select * from MyTable where Id=:Id" дает коректный результат..

Но.. люди добрые, в каком букварике для молоденьких девушек сказано, что так должно быть (я то по наивности предполагала, что должен рефрешится весь набор данных), и что собственно нужно сделать, если я хочу рефрешить все же весь набор данных, а не текущую запись.. Банального переоткрытия набора данных делать не охота, да и хочется, чтобы рефрешился весь набор при щелчке на соответсвующую кнопку DBNavigator...


 
}{ander ©   (2005-09-11 12:00) [5]

> и что собственно нужно сделать, если я хочу рефрешить все же весь набор данных, а не текущую запись..

Close, Open

> Банального переоткрытия набора данных делать не охота, да и хочется

А що робити, синку, що робити... (с)
Единственное, что можно посоветовать - это запоминать bookmark, а затем переходить на нее после переоткрытия DataSet для того, чтобы оставаться на той записи, которая обновлялась.


 
Sergey13 ©   (2005-09-12 09:43) [6]

2[4] Irka   (11.09.05 01:24)
> и что собственно нужно сделать, если я хочу рефрешить все же весь набор данных, а не текущую запись.. Банального переоткрытия набора данных делать не охота, да и хочется...
Это взаимоисключающие хотения. Если не переоткрывать, то что значит решрешить?



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

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

Наверх





Память: 0.46 MB
Время: 0.034 c
2-1127977419
V-A-V
2005-09-29 11:03
2005.10.23
Помогите разобраться с запросом


9-1116839264
Nic87
2005-05-23 13:07
2005.10.23
Shareware игры


1-1128155503
Kolan
2005-10-01 12:31
2005.10.23
Как правильно удалить запись содержащюю дин. массивы


5-1103289733
Семен Сорокин
2004-12-17 16:22
2005.10.23
Работа с компонентом в Design-Time


1-1128024783
lesee
2005-09-30 00:13
2005.10.23
Отбросить тень TLabel и получит её регион и регин





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