| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > обновление dbGrid |
| Автор: Martisha 10.12.2008, 10:16 | ||
| Доброго дня всем!!! Использую Oracle,Delphi7,подключаюсь к базе с помощью ODAC.. нужно сделать Refresh dbGrid, написала код, ошибок не вылазит, но ничего и не происходит
|
| Автор: Данкинг 10.12.2008, 11:50 |
| А если вместо ExecSQL сделать Open ? |
| Автор: Martisha 10.12.2008, 13:30 |
так же, реакции никакой может есть какой то другой способ? |
| Автор: Akella 10.12.2008, 17:34 |
| а какая должна быть реакция? Что, даже грид не переоткрывается? Добавлено через 1 минуту и 13 секунд в таблице небось записей стопицотыщ, а тебе в грид попадают только те, которые видимы в нём, в гриде. Может fetch? |
| Автор: Martisha 11.12.2008, 08:18 |
я бы хотела чтоб он обновился переоткрывается вроде, только в базе если были записи, то в гридеони отображаются..потом если я их удаляю из базы(то есть там совсем пусто), пытаюсь обновить гриде записи все равно отображаются может, а что это? |
| Автор: Akella 11.12.2008, 12:55 |
| Может тебе рано ещё в оракл, ты всё рам не знаешь ни кого Добавлено через 30 секунд Я и сам-то в оракл не лезу, сижу себе потихоньку на firebird`е |
| Автор: Martisha 11.12.2008, 13:27 |
другого выбора нет, на работе его используют(( |
| Автор: Данкинг 11.12.2008, 13:52 |
Так необязательно же (хотя я тоже не спец по Ораклу; единственное, что я написал, так это конвертер из DBF в Оракл |
| Автор: Akella 11.12.2008, 13:59 | ||||
что такое Fetch, для чего он и почему не ВСЕ стопицоттыщ записей попадают в грид? Когда ты выполняешь запрос к серверу
а там один миллион записей.... пожалей пользователя.... по умолчанию тебе в НД (набор данных, DataSet) попадут не все 1 млн записей, а какая-то часть. Какая? Ну... зависит от настроек самого НД, может там есть для этого свой-со какое-нибудь, а может попадёт количество записей, которые поместятся в видимой области грида. Потом пользователь начинает прокручивать грид.... и НД начинает тянуть остальные записи из базы по мере надобности. И сеть не нагружается, и сервер не нагружается, и клиент не нагружается... А если после открытия НД выполнить Fetch ("отфетчить" данные, как некоторые говорят), то в НД попадут все записи из таблицы базу... память клиентского компьютера... сама понимаешь.. |
| Автор: Martisha 17.12.2008, 11:26 | ||
не помогает( |
| Автор: Frees 17.12.2008, 11:44 | ||
| может ты не тот квери переоткрываеш попробуй так
ODAC не использую но мне кажется у него как и у FIB должно быть что то типо ReopenLocate |
| Автор: Martisha 17.12.2008, 12:44 |
все равно не получается( |
| Автор: Frees 17.12.2008, 12:52 | ||
Не закомитил транзакцию в которой были удалены записи! больше нет вариантов, чудес то же вроде не бывает |
| Автор: pseud 17.12.2008, 13:09 |
не закоммитила. это точно. здесь поподробнее. как и где? |
| Автор: Martisha 17.12.2008, 14:09 |
что это значит? в dbGrig-е у меня отображается таблица, а если я полностью удаляю данные из таблицы, они почему то отображаются в dbGrid |
| Автор: Frees 17.12.2008, 14:12 |
вот про это подробнее!! где как удаляеш? Добавлено через 1 минуту и 40 секунд ты удалила записи в рамках транзакций а что бы все остальные увидили что записи удалились транзакцию надо подтвердить(закомитить) |
| Автор: Martisha 17.12.2008, 14:23 |
к базеподключаюсь с пом-ю pl/sql developer, и в нем удаляю все содуржимое таблицы: delete from traffic как же это сделать? |
| Автор: Frees 17.12.2008, 14:32 | ||
не пользовался таким софтом... попробуй кнопочку комит(Commit) у него поискать после удаления |
| Автор: Martisha 17.12.2008, 14:41 | ||
ок) поищу) значит дело только в этом? |
| Автор: pseud 17.12.2008, 14:42 | ||
+1. так и называется Commit (F10) - зелененькая стрелочка P.S. F10 - это опционально Добавлено через 55 секунд либо \ГлавноеМеню\Session\Commit |
| Автор: Martisha 17.12.2008, 14:48 |
действительно нашла) после удаления нажимаю commit и после кликаю "обновить" уже на форме, dbGrid очистился!!!! Добавлено через 6 минут и 42 секунды все, тема закрыта, всем спасибо за помощь |
| Автор: Akella 17.12.2008, 19:41 |
| Martisha, тебе нужно для начала хоть маломальски почитать и понять что такое транзакции, зачем они нужны, что такое клиент-сервер и с чем его едят! А то получается, что ты сразу села за руль и хочешь ехать. Машина почему-то не едет. Участники движения (форумчане тоюишь) тебе хотят помочь, дают подсказки. Но ты даже не знаешь, что такое кулиса и куда её крутить и вообще зачем? А может дело не в кулисе? А может её и не крутить нужно, а подёргать? А тебе вот уже советуют её подёргать, ты дёргаешь но толку нету. Знаешь почему? Потому, что ты не выполнила несколько требований: а) забыла выжать сцепление б) не изучила, как правильно переключить скорость. Мало того, бывают автомобили с коробкой автоматом. И как тут быть? Тебе подсказали, что нужно выжать сцепление и как переключить первую скорость. Но вот незадача... вдруг придётся ехать с прицепом, да ещё и на второй скорости. Купи себе книгу по ораклу. Хорошо если там будет описание, как работать с ораклом из дельфи через те компоненты, с которыми ты щас работаешь. |
| Автор: Martisha 18.12.2008, 08:21 | ||
изучаю уже..скоро английский выучу уж) |
| Автор: Akella 18.12.2008, 09:04 |
| книгу на английском читаешь? |
| Автор: Martisha 18.12.2008, 11:22 |
нет, по ODAC на английском (там аж 500 листов |
| Автор: Данкинг 18.12.2008, 11:48 | ||
Например - что за книга такая, в которой описывается работа из Дельфи с Ораклом? Добавлено через 1 минуту и 5 секунд Да хоть на каком, только чтобы нормальная книга была. |
| Автор: Martisha 18.12.2008, 12:14 | ||||
это есть в документации по ODAC? только там на английском все
она может и нормальная, плохо когда языка не знаешь..переводчик он же тоже каряво переводит и получается ерунда |
| Автор: Akella 18.12.2008, 14:15 | ||||
Не знаю, я лишь предполагаю, что может быть есть такая. Добавлено через 2 минуты и 1 секунду
Мда... жаль конечно. Но ты это.. всё равно не стесняйся задавать вопросы. Если где-то я перегнул палку со своими учениями по поводу книг или поиска, то извини |
| Автор: Martisha 18.12.2008, 14:29 | ||
все |
| Автор: Akella 18.12.2008, 14:40 |
| Это мы ещё посмотрим(с) |
| Автор: Martisha 18.12.2008, 14:51 |