Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.25;
Скачать: CL | DM;

Вниз

DBGridEh, D6 And FB-1. Проблема с сохранением информации   Найти похожие ветки 

 
Eduard   (2003-07-30 18:20) [0]

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


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

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


 
ulyanitsky ©   (2003-07-30 22:56) [2]

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


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

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


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

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


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

Доступ?


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


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

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


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

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


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


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

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


 
Alexandr ©   (2003-07-31 12:35) [9]

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


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

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


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


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

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



 
Alexandr ©   (2003-07-31 13:20) [12]

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


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

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


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

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


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

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


 
MsGuns ©   (2003-07-31 17:30) [16]

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


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

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


 
Dred2k ©   (2003-07-31 19:27) [18]

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



Страницы: 1 вся ветка

Текущий архив: 2003.08.25;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.016 c
14-81914
Карелин Артем
2003-08-07 14:08
2003.08.25
А я на работе сейчас пиво пью.


1-81640
Maxim Pshevlotsky
2003-08-14 06:21
2003.08.25
Как извлечь значок у файла зная только его расширение?


1-81725
Man
2003-08-10 16:58
2003.08.25
Ошибка на WaitFor


4-82019
alexvan
2003-06-20 12:46
2003.08.25
Как отловить сообщение.


3-81557
OlegNOE
2003-07-30 19:00
2003.08.25
Определение номера записи в фильтрованом наборе