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

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

Проблемы с сохранением изменений. [D7, FireBird 1.5]


VitGun ©   (2006-02-17 13:26:00) 

Используются компоненты TIBDatabase, TIBTransaction, TIBDataSet, TDataSource.

Редактирую существующую запись. Делаю Post. Закрываю программу. Открываю снова - запись не изменилась! Пробовал явно Commit/CommitRetaining транзакции делать - не помогло.
Настройки TIBTransaction:
read_committed
rec_version
nowait

CachedUpdate=false

Как лечить? Где грабли?

З.Ы.Я понимаю что вопрос, наверное, надоел уже. Но я искал на форуме - и решения не нашел, потому новую тему завел.


VitGun   (2006-02-17 14:04:00) [1]

Все! Заработало! Всем спасибо!


VitGun   (2006-02-17 13:56:00) [2]

[b]Johnmen[/b]
[b]Sergey13[/b]

Непомогло.

Кстате сказать с удалением записей та же беда. Удаляю запись через DataSet.Delete. После открытия программы запись на месте.


Sergey13   (2006-02-17 13:48:00) [3]

2[3] VitGun ©   (17.02.06 13:44)
Полой он у тебя. Надо указывать ключевые поля у таблицы. У тебя он видимо ID? Тогда сформироваться должно
update EXPERTS
set
ID = :ID,
NAME1 = :NAME1,
NAME2 = :NAME2,
NAME3 = :NAME3,
CODE = :CODE,
SEX = :SEX,
BIRTH_DATE = :BIRTH_DATE,
PASS_SER = :PASS_SER,
PASS_NUM = :PASS_NUM,
PASS_DATE = :PASS_DATE,
PASS_PLACE = :PASS_PLACE,
JOB_PLACE = :JOB_PLACE
where
ID = :OLD_ID


Johnmen   (2006-02-17 13:46:00) [4]

Условие в WHERE бредовое :)
Оставь только ID = :OLD_ID, ведь это первичный ключ, как я понял.


VitGun   (2006-02-17 13:44:00) [5]

Ммм...ModifySQL сгенерирован автоматически. Вот текст:

update EXPERTS
set
 ID = :ID,
 NAME1 = :NAME1,
 NAME2 = :NAME2,
 NAME3 = :NAME3,
 CODE = :CODE,
 SEX = :SEX,
 BIRTH_DATE = :BIRTH_DATE,
 PASS_SER = :PASS_SER,
 PASS_NUM = :PASS_NUM,
 PASS_DATE = :PASS_DATE,
 PASS_PLACE = :PASS_PLACE,
 JOB_PLACE = :JOB_PLACE
where
 ID = :OLD_ID and
 NAME1 = :OLD_NAME1 and
 NAME2 = :OLD_NAME2 and
 NAME3 = :OLD_NAME3 and
 CODE = :OLD_CODE and
 SEX = :OLD_SEX and
 BIRTH_DATE = :OLD_BIRTH_DATE and
 PASS_SER = :OLD_PASS_SER and
 PASS_NUM = :OLD_PASS_NUM and
 PASS_DATE = :OLD_PASS_DATE and
 PASS_PLACE = :OLD_PASS_PLACE and
 JOB_PLACE = :OLD_JOB_PLACE


Stakan   (2006-02-17 13:32:00) [6]


> А как насчёт компонента TIBUpdateSQl?

Прошу прощения невнимательно прочитал вопрос.
И всё таки может дело в запросе на исправление?


Stakan   (2006-02-17 13:31:00) [7]

А как насчёт компонента TIBUpdateSQl?
Используется ли он, и что у него за запрос на исправление?


Наверх

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