![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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
:((( Даже исходниками не поинтересовались