Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.08.25;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.011 c
14-81923
Карелин Артем
2003-08-07 11:25
2003.08.25
Почему аська при каждом коннекте лезет на web-сервак?


1-81735
Igor_thief
2003-08-10 14:50
2003.08.25
Как програмно показать хинт какогото элемента?


1-81789
iNew
2003-08-14 06:05
2003.08.25
Как показать прогресс копирования?


3-81583
sashag
2003-07-30 09:38
2003.08.25
Ошибка при добавлении записи в таблицу Interbase


7-81992
rocker
2003-06-11 06:05
2003.08.25
Как обратиться к реестру от имени другой программы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский