Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Базы данных и репортинг > dbgrid |
Автор: AKN 3.8.2006, 14:03 |
Получаю живой запрос с посощью Query и SQLUpdate При навигации (!) по гриду откуда-то появляются дублирующие записи. При использовании в гриде полосы прокрутки дублирующиеся записи сами собой исчезают. Подскажите что это за хрень, в чем может быть проблема (кроме недостаточности радиуса кривизны рук)? |
Автор: Frees 3.8.2006, 14:41 |
imho может дело в отрисовке попродуй на событие скрола датасета для грида зделать DBgrid.refresh |
Автор: AKN 3.8.2006, 15:00 |
неа... Записи именно появляются, а не глюки отрисовки. Может быть проблем в кривизне запросов в SQLUpdate? |
Автор: Frees 3.8.2006, 15:04 |
ну тогда выкладывай свои запросы |
Автор: AKN 3.8.2006, 16:39 | ||
Нет, запросы нормальные - проверил, а проблема осталась... вообще-то проблема вот в чем - у меня накладная, где по кнопке всавляется запись
мож в этом проблема? что-то тут не так? |
Автор: DimW 3.8.2006, 17:30 |
конечно не так! Query.Post перед эндом поставь. |
Автор: AKN 3.8.2006, 17:56 | ||
у меня все идет в одной транзакции, там несколько операторов. Пост что-то решит? |
Автор: AKN 4.8.2006, 08:59 | ||||||||
ну не работает же, значит радиус маловат...
транзакция начинается когда пользователь жмакнул кнопку "Подбор", ему вываливается формочка с выбором товара, потом по выбранному товару в одельной квери ищуться его параметры (цена, единица измерения и т.д.) и срабатывает обработчик
который и вставляет в грид накладной выбранный товар с ценой и т.д. Организация процесса правильная? Уже думаю мож плюнуть и в стринг гриде все это организовать... |
Автор: Fedia 4.8.2006, 09:22 | ||
AKN, честно говоря, не увидел в твоем описании реализации механизма транзакций, потому попробуй сделать так, как написал DimW.
Нет, лучше не надо над собой так издеваться. Может удастся излечить твою проблему в ближайшее время... |
Автор: superVad 4.8.2006, 09:48 |
стартуй транзакцию перед инсертом и комить после поста пост поставь как DimW сказал и вообще вместо Query юзай лучше датасет |
Автор: AKN 4.8.2006, 17:06 |
Всем спасибо, буду пытаться! |
Автор: Fedia 4.8.2006, 23:26 | ||
Чем лучше то ? По иерархии классов TQuery наследник TDataSet. AKN, вероятность того, что дублирующие записи - результат глюка DBGrid-а очень мала, но все-таки посоветую попробовать заменить DBGrid на DBGridEh из пакета компонентов EhLib. К тому же в EhLib-овском варианте грида значительно расширен функционал, который может в будущем пригодиться. |
Автор: superVad 8.8.2006, 11:57 | ||
хз, может всетаки гдето в этом и проблема. да и функциональность TQuery там вроде и не требуется. таки да EH рулит. |