Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

DBGridEh, D6 And FB-1. Проблема с сохранением информации


Eduard ©   (2003-07-30 18:20:00) 

Прошу помощи по ФБ. В DBGridEh ввожу новые записи, замечено следующее - сохраняется в базу только информация, введеная до перехода на новую строку, изменения, внесенные в старые строки игнорируются. Если кому интересно, могу прислать код с базой (использую Rx и EhLib из нестандартного) около 1 метра.


Dred2k   (2003-07-31 19:27:00) [1]

Если не юзаешь всякие вкусности eh-грида, то замени его на стандартный и проверь. А если даже и юзаешь - потрать немного времени и сделай на стандартном. Только проект бери то же, чисть только вкусности. Так локализуешь область бага. А дальше видно будет...


Eduard   (2003-07-31 18:10:00) [2]

Проблему не решил, но вопрос отпадет. Доделаю сегодня выборку из справочника через чекбоксы - то есть выбрали 20 товаров и занесли в базу, а дальше как хотят, хоть гнездовым, хоть квадратным, при повторном открытии все нормально работает. Как нить выкручюсь. Но вопрос остался открытым - в чем все-таки проблема - в гриде или в неверном доступе?
MsGuns
А сделано и так через временную таблицу с сейвами по нажатию "добавить", через ХП данные заносятся в основную таблицу. Потери были именно при вводе в грид, временная таблица остается с Null, проверенно.


MsGuns   (2003-07-31 17:30:00) [3]

ИМХО, кривизна не в компоненте доступа, а в "им так удобнее", т.е. корявость ввода данных узерами. Если уж надо насмерть такой квадратно-гнездовой метод (сомневаюсь, что так они вводят быстрее или делают меньше ошибок либо БД не нормализована хотя бы в части наименований товара), то через стринг-грид или таблицу в памяти с "порционными" сэйвами.
Проверка порции тоже делается оптом при нажатии кнопки. Хотя, повторюсь, сомневаюсь, что так им будет удобнее.


Eduard   (2003-07-31 15:01:00) [4]

Alexandr
Через TIBTable я понял нельзя ничего сделать, неохота менять, запросы писать на инсерт, делете и т.д.


Alexandr   (2003-07-31 14:49:00) [5]

у тебя транзакции нипричем.
У тебя запрос на обновление неправильно формируется.


Eduard   (2003-07-31 14:32:00) [6]

Соловьев
Не помогло :(
Выполняются ли транзакции в Дельфи автоматом, или обязательно писать старт коммит?


Alexandr   (2003-07-31 13:20:00) [7]

перепиши, избавившись от TIBTable потом приходи.


Соловьев   (2003-07-31 13:09:00) [8]


> После закрытия и открытия сохраняются.

ну вот у Вас транзакциия SNAPSHOT, а нужно
IBTransaction.Params = (
"read_committed"
"rec_version"
"nowait")


Eduard   (2003-07-31 12:59:00) [9]

Alexandr
Могу прислать, если не трудно посмотреть. В зипе 250к
Соловьев
После закрытия и открытия сохраняются. Из таблицы данные перебрасываются при помощи ХП в другую. В коде перепробовал все.
Сильно не пинайте, первая проба на Дельфи. До этого писал и пишу на ВБ-6 и MSSQL. Понравились в Дельфи разные примочки насчет интерфейса, в ВБ за деньги или сам ;))


Alexandr   (2003-07-31 12:35:00) [10]

незнаю.
Неправильно видимо с базой данных работаешь.
Грид тут нипричем.
Можно предположить ошибка где-то около первичного ключа по которому обновление идет.
Выбросил бы ты TIBTable заюзал бы TIBdataset да и версию IBX взял самую последнюю...
Все бы заработало.


Соловьев   (2003-07-31 12:35:00) [11]


> При сохранении остаются все записи, но только с наименованием
> товара, все что ввели после перехода на новую запись теряется.
> Проблема в том, что в гриде происходит, наверное, Insert
> и Post, а в режим Edit не переходит при возврате на введенные
> строки

нет переходит в режим Edit. Код какой-то еще есть или вообще без кода?
А после закрытия проги, а потом повторного открытия данные сохраняются?
уровень изоляции транзакции какой?


Eduard   (2003-07-31 12:28:00) [12]

Доступ TIBTable, TDateSource.
Ситуация следующая -в грид заносят несколько записей, причем только к примеру, наименование товара, потом возвращаются в начало и вводят другие данные - во все записи кол-во товара, потом - цена товара и т.д. Им так удобнее. При сохранении остаются все записи, но только с наименованием товара, все что ввели после перехода на новую запись теряется. Проблема в том, что в гриде происходит, наверное, Insert и Post, а в режим Edit не переходит при возврате на введенные строки. Пробовал все, не получается. Это глюк грида, или же организован неверно доступ? Могу прислать код. Таблица перед вводом пустая.


Соловьев   (2003-07-31 10:25:00) [13]


> сохраняется в базу только информация, введеная до перехода
> на новую строку, изменения, внесенные в старые строки игнорируются.
>

не может такого быть. может наоборот - сохраняется только то, после водда которого был сделан переход на нановую строку(т.е. Post)? да и какие компоненты доступа?


Mike1 Kouzmine1   (2003-07-31 10:18:00) [14]

Доступ?


Eduard   (2003-07-31 09:48:00) [15]

Так и не разобрался, или DBGridEh таким образом работает или же в его свойствах что-то не установил.
Никто не сталкивался с этой проблемой?


Eduard   (2003-07-30 23:15:00) [16]

Посылаю, в письме подробнее


ulyanitsky   (2003-07-30 22:56:00) [17]

Давай на ящик, может чем и помогу.
Только у меня Д7. Кстати Rx под Д7 есть?


Eduard   (2003-07-30 22:12:00) [18]

Up
:((( Даже исходниками не поинтересовались


Наверх

Титульная страница Поиск, карта сайта Написать письмо