Текущий архив: 2008.07.27;
Скачать: CL | DM;
ВнизDBGrid Найти похожие ветки
← →
AlekseyB (2008-06-24 08:59) [0]Подскажите плиз. Есть грид, где отображаются данные, необходимо в грид вносить данные и чтобы они сохранялись. Когда меняю несколько записей то сохраняет нормально, хотя не всегда, а если одну запись меняю, то совсем не сохраняет. Не подскажите в чем проблема ?
← →
engine © (2008-06-24 09:01) [1]ИМХО, в знаниях
← →
AlekseyB (2008-06-24 09:05) [2]
> ИМХО, в знаниях
в том то и дело что знаний маловато, поэтому и советуюсь !!
← →
engine © (2008-06-24 09:09) [3]Во первых в гриде данных нет, и там их сохранить нельзя.
Во вторых, как меняешь, как сохраняешь не понятно.
← →
AlekseyB (2008-06-24 09:12) [4]
> Во первых в гриде данных нет, и там их сохранить нельзя.
Я написал, что отображаются данные , а не хранятся
← →
Sergey13 © (2008-06-24 09:15) [5]> [4] AlekseyB (24.06.08 09:12)
Программа вообще твоя или ты видишь ее только на экране соседа?
← →
AlekseyB (2008-06-24 09:23) [6]Моя программа, но тока начал писать, так подскажите как мне сделать, чтобы при занесении данных в грид, они сохранялись в базе. Спасибо заранее
← →
engine © (2008-06-24 09:28) [7]Что за СУБД, какие компоненты доступа используешь?
← →
AlekseyB (2008-06-24 09:29) [8]
> Что за СУБД, какие компоненты доступа используешь?
MS SQL, компоненты ADO
← →
korneley © (2008-06-24 09:39) [9]
> AlekseyB (24.06.08 08:59)
Много зависит от того, откуда и как берутся данные для отображения. База какая? Механизм извлечения данных? Используемые инструменты? Поподробнее, и тогда, возможно, будет о чём говорить.
← →
AlekseyB (2008-06-24 09:46) [10]
> Много зависит от того, откуда и как берутся данные для отображения.
> База какая? Механизм извлечения данных? Используемые инструменты?
> Поподробнее, и тогда, возможно, будет о чём говорить.
Есть база, в ней есть табличка !!! При помощи грида данные из этой таблички отображаются в гриде. есть пустые поля в этой табличке, вот и необходимо заполнить данными, которые мы вносим непосредственно в грид. т.е. при добавлении этих данных, я вижу внесенные изменения, но до тех пор, пока не обновится грид !!!
← →
engine © (2008-06-24 09:50) [11]Ну теперь всё понятно. Такие ошибки чаще всего происходят в 17-ой строке
← →
Sergey13 © (2008-06-24 09:50) [12]> [0] AlekseyB (24.06.08 08:59)
> хотя не всегда
Типа по пятницам не сохраняет? Или другие какие закономерности есть?
> [8] AlekseyB (24.06.08 09:29)
> компоненты ADO
Все сразу или какие то конкретные?
По ходу нет фиксации изменений в датасете и/или в БД.
← →
Юрий Зотов © (2008-06-24 09:55) [13]> Когда меняю несколько записей то сохраняет нормально, хотя не всегда, а
> если одну запись меняю, то совсем не сохраняет
Можно предположить вот что.
Когда меняется несколько записей, то идет навигация по датасету и автоматом посылается Post. Данные сохраняются (возможно, кроме последней записи).
Когда меняется одна запись, навигации нет и Post автоматом не посылается. Видимо, Post не посылается и кодом - вот данные и не сохраняются.
← →
korneley © (2008-06-24 10:07) [14]
> Юрий Зотов © (24.06.08 09:55) [13]
Присоединяюсь. Хотя, по идее, при нажатии "Enter" в гриде, Post должен быть и без навигации. Но кодом, с проверкой, что датасет в эдит/инсерт моде - надёжнее :)
← →
Ega23 © (2008-06-24 10:28) [15]> Подскажите плиз. Есть грид, где отображаются данные,
Блин. Начал читать. Так порадовался - новичок наконец-то знает, что в гриде нет никаких данных.
> необходимо в грид вносить данные и чтобы они сохранялись.
Однако нет, всё в порядке. Мир, к сожалению, не изменился.
← →
korneley © (2008-06-24 10:42) [16]
> Ega23 © (24.06.08 10:28) [15]
Так это ж как... акыны, что ли. Что вижу, о том и пою. Если буковки/циферьки набираются в гриде, то и данные там же. А за всё остальное ответственный уже назначен: П.А.С. :))
← →
AlekseyB (2008-06-24 10:46) [17]ну мало ли как выразился, ну ошибся, что теперь ? Не в этом проблема !!! Проблема в том, что данные не сохраняются в базе при внесении их в грид
← →
Ega23 © (2008-06-24 10:51) [18]
> Не в этом проблема !!! Проблема в том, что данные не сохраняются
> в базе при внесении их в грид
Проблема как раз в непонимании того, что в DBGrid нет никаких данных. Данные - в TDataSet. И вносишь ты их не в грид, а в ДатаСет. И для того, чтобы записи "появились" в базе, их нужно из датасета туда отправить. Как - это уже отдельная песня, есть много всяческих способов.
← →
Плохиш © (2008-06-24 10:53) [19]
> AlekseyB (24.06.08 10:46) [17]
> Проблема в том, что данные не сохраняются в базе при внесении
> их в грид
Хм, а у меня сохраняются, вот ведь как удивительно, правда...
← →
Галинка (2008-06-24 11:25) [20]добавить либо кнопку типа "Update" (в которой и производить апдэйт с сохранением всех исправленных записей, там вроде у скула есть для этого спец модификатор типа rsEdited). Либо повесить это действие на Leave грида. Но UPDATE TABLE обязательно делать надо.
← →
lewka-serdceed (2008-06-24 13:45) [21]Ты вообще используешь кнопки навигации по БД? Tnavigator попробуй
← →
Ega23 © (2008-06-24 13:50) [22]
> Ты вообще используешь кнопки навигации по БД? Tnavigator
> попробуй
Фу, какая гадость...
← →
korneley © (2008-06-24 14:02) [23]Вот пользую EMS InterBase & FireBird Manager. Почти во всём нравится (может, потому, что слаще морковки ничего не пробовал :), но как я ненавижу эти УБОГИЕ DBNAVIGATOR - ы !!!
← →
Sergey13 © (2008-06-24 14:03) [24]> [22] Ega23 © (24.06.08 13:50)
А чего его многие так не любят? Нормальный компонент. А для новичков так вообще очень даже хороший. ИМХО.
← →
korneley © (2008-06-24 14:07) [25]
> Sergey13 © (24.06.08 14:03) [24]
Не спорю, для D1, он может и был прорывом, но сейчас, я даже редактирование "данных в гриде" считаю "мове тон". Как следствие - "скрипач не нужен" (с)
← →
stas © (2008-06-24 14:13) [26]AlekseyB (24.06.08 08:59)
1. СУБД
2. Компоненты доступа
3. Какие меняли настройки компонентов?
← →
Sergey13 © (2008-06-24 14:13) [27]> [25] korneley © (24.06.08 14:07)
> я даже редактирование "данных в гриде" считаю "мове тон"
Чем же оно так плохо?
← →
korneley © (2008-06-24 14:23) [28]
> Sergey13 © (24.06.08 14:13) [27]
Тем, что считаю это наследием экселевского (или суперкальковского) подхода к интерфейсу. Там - да, в моём приложении - нет. Меняешь/вставляешь/удаляешь запись - получаешь форму. Пользователь хоть знает, что делает :) Ну ладно... иногда можно. :))) Но, иногда. Всё, естественно, имхо
← →
MsGuns © (2008-06-24 14:54) [29]При "гридной" корректировке по умолчанию используется то механизм "отсылки" изменений на сервер, который используется применяемыми компонентами, с учетом тех свойств этих компонентов, которые влияют на кэширование изменений и на старт и подтверждение (откатов) транзакций. Вам, очевидно, следует или научиться управлять явно пересылкой изменений серверу или отказаться от "гридной" технологии или поменять датасет, например на TClientDataSet, у кторого целый арсенал методов и свойств для этого.
В любом случае надо потратить время чтобы разобраться и навсегда забыть о подобных проблемах
← →
Ega23 © (2008-06-24 15:11) [30]
> В любом случае надо потратить время чтобы разобраться и
> навсегда забыть о подобных проблемах
Проблема-то как раз в другом. Есть, например, справочная таблица. Всего с двумя десятками записей, но с 15 столбцами. Для корректного редактирования мне их ВСЕ 15 надо в грид тащщить. А по-идее, достаточно трёх-пяти, т.к. все остальные - сугубо служебные.
Ну и всяческие многопользовательские доступы - тоже с гридом тяжело решаются.
Наконец, это просто неудобно (назовите мне хоть одну программу того же Microsoft, где в гриде надо что-то редактировать. Ёксель не в счёт.)
← →
Sergey13 © (2008-06-24 15:17) [31]> [30] Ega23 © (24.06.08 15:11)
> Наконец, это просто неудобно (назовите мне хоть одну программу
> того же Microsoft, где в гриде надо что-то редактировать
Редактирование структуры таблицы в ЕМ.
← →
Галинка (2008-06-24 15:18) [32]Ega23 © (24.06.08 15:11) [30]
Все зависит от сути базы. И от сути таблицы конкретной.
← →
Sergey13 © (2008-06-24 15:24) [33]> [30] Ega23 © (24.06.08 15:11)
> Для корректного редактирования мне их ВСЕ 15 надо в грид тащщить.
Это как? Если редактируются 3 - их и тащи. Плюс ПК в датасете.
← →
Ega23 © (2008-06-24 15:33) [34]
> Редактирование структуры таблицы в ЕМ.
Ну хорошо. Но насколько часто ты этим пользуешься? Я, например, раза 3-4 за 8 лет. Вообще EM использую для просмотра всякой фигни, типа DeadLocks и т.п., а также для настройки Backup|Restore и прочих джобов. Всё остальное - через QA.
> Это как? Если редактируются 3 - их и тащи. Плюс ПК в датасете.
Каждый раз новую форму создавать? Или что?
Потом, например проверки. Есть у тебя уникальный индекс на столбец. Понятно, что при вставке повторяющегося значения тебя обматерит. А где обматерит? На каком поле? Какое конкретное исключение ты будешь ловить?
А с формой - всё гораздо проще...
И понять редактирование в гриде я могу только в одном случае: когда сидит девочка на телефоне и принимает заказ на 100 товаров из 10000. Вот в такой ситуации - это удобно. Но геммороя при этом - ужас.
← →
Sergey13 © (2008-06-24 15:38) [35]> [34] Ega23 © (24.06.08 15:33)
> Ну хорошо. Но насколько часто ты этим пользуешься?
Ты просил пример - я привел. Просто прямо перед ответом этим занимался. 8-)
> Каждый раз новую форму создавать? Или что?
А без грида все по другому? Как вообще ловля исключений пересекается с визуализацией данных? Я тебя наверное не понимаю.
← →
Галинка (2008-06-24 15:41) [36]
> Ega23 © (24.06.08 15:33) [34]
>
>
> И понять редактирование в гриде я могу только в одном случае:
> когда сидит девочка на телефоне и принимает заказ на 100
> товаров из 10000. Вот в такой ситуации - это удобно. Но
> геммороя при этом - ужас.
>
вот тут как раз грид совсем не оптимален. Потому как в базе будет несколько таблиц со связями многие ко многим (на вскидку будет справочников только штуки 3: тара, катугория товара, состояние склада). Как это все в грид загнать?
← →
Ega23 © (2008-06-24 15:44) [37]
> Как это все в грид загнать?
Это уже другой вопрос.
> А без грида все по другому? Как вообще ловля исключений
> пересекается с визуализацией данных? Я тебя наверное не
> понимаю.
Наверное. Это дело лучше в реале обсуждать, так запаримсо.
← →
Галинка (2008-06-24 15:45) [38]хотя вот у нас например есть тулза для кассового окружения, в которой можно типа накладных создавать, которые потом уже на кассе оплачиваются. Написана кстати на дельфе ))) Там именно грид применен. Но там реально вводишь только наименование товара, вся остальная фигня берется из базы по связям.
← →
Sergey13 © (2008-06-24 16:02) [39]> [37] Ega23 © (24.06.08 15:44)
ИМХО все-таки наверное не зря Борланд таскает свой грид из версии в версию. Да еще и сторонние разработчики соревнуются в написании своих гридов, причем очень даже недешевых порой. Да и в том же мелкомягком аксесе, если мне не изменяет память, грид так-же присутствует.
Применять/не применять - все зависит от задачи.
> Это дело лучше в реале обсуждать, так запаримсо.
Это точно. 8-)
← →
Галинка (2008-06-24 16:07) [40]Sergey13 © (24.06.08 16:02) [39]
самое инетерсное, что не только борланд, но и мелкие тоже таскают. Но формы как-то конкретнее что ли. Незря же в том же аксесе мона формы свои дизайнить. Да и Oracle Forms.
Страницы: 1 2 3 вся ветка
Текущий архив: 2008.07.27;
Скачать: CL | DM;
Память: 0.55 MB
Время: 0.007 c