:: Visual Foxpro, Foxpro for DOS
ListBox и буферизация
roman2

Сообщений: 185
Дата регистрации: 07.02.2005
На форме ListBox c источником данных SQL.
select name from spr where spr.kod = p_Kod into cursor list
Таблица spr – буферизация 5.
Все работает нормально.
Но, при изменение таблицы.
INSERT INTO spr (name,kod) VALUES (S,p_kod)
thisform.list1.Requery
thisform.refresh

Данные в ListBox-е не меняются.
После сброса буфера TableUpdate , естественно показывает.

Как быть?
Ratings: 0 negative/0 positive
Re: ListBox и буферизация
boba

Сообщений: 6269
Откуда: Медвежьи озера-
Дата регистрации: 26.03.2001
Лист бокс или комбо бокс показывает только закрепленные записи с диска, а не те, что в буфере
В ашем случает insert идет в буферизованную таблицу и select не может показать запись из буфера
Смените тип источника листбокса вместо запроса на поля таблицы




------------------
не имей 100 рублей, а имей сто друзей
Ratings: 0 negative/0 positive
Re: ListBox и буферизация
Igor Korolyov
Автор

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi roman2!

SELECT в VFP8 и более ранних не видит данных из буфера - следовательно и до листбокса это не доходит. в VFP9 появился модификатор WITH (BUFFERING=.T.) позволяющий выбирать и данные из буфера.
Если же это не годится - то всегда можно перейти на другой тип источника - например массив, или вообще None - и заполнять через SCAN - "простое" обращение к курсору видит данные буфера.




------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: ListBox и буферизация
Каратаев

Сообщений: 3977
Откуда: Алматы
Дата регистрации: 04.12.2001
А можно для ListBox использовать AddItem в этом случае...




------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.
Ratings: 0 negative/0 positive
Re: ListBox и буферизация
roman2

Сообщений: 185
Дата регистрации: 07.02.2005
Спасибо за ответы!
Мои подозрения оправдались, редко им пользуюсь теперь буду знать.
Ratings: 0 negative/0 positive
Re: ListBox и буферизация
Igor Korolyov
Автор

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi Каратаев!

Да конечно - Используя AddItem ты же будешь обращаться к полям как MyTable.SomeField - а такое обращение берёт данные из буфера. Только SELECT ... FROM MyTable будет брать данные из "подлежащей" таблицы.

P.S. Вообще не припомню чтобы когда-либо пользовался типами источника 3 - "SQL Statement" или 4 - "QPR" для лист/комбо. Если и нужен запрос - то его делаю отдельно, а в комбо тогда тип 6 - "Fields", 5 - "Array" или 0 - "None" и ручное заполнение...




------------------
WBR, Igor
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 28 (Гостей: 28)

© 2000-2024 Fox Club 
Яндекс.Метрика