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

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

FIBPlus


NiBL ©   (2002-11-11 14:51:00) 

Почему в Detal таблице не втавляются новые записи?
Я там все сделал :
В InsertSql -
INSERT INTO PERSONAL (
ID,
IDX,
FIO,
DOLGN,
PHONE
)
VALUES (
: ID,
: Mas_ID,
: FIO,
: DOLGN,
: PHONE )

В UPDATESQL -
UPDATE PERSONAL SET
ID = : ID,
IDX = : MAS_ID,
FIO = : FIO,
PHONE = PHONE
WHERE ID = : OLD_ID

В RefreshSql -
SELECT * FROM PERSONAL
WHERE (IDX = : ID)
and
(PERSONAL.ID=?OLD_ID)


Виталий Панасенко   (2002-11-11 18:17:00) [1]

В BeforePost, кажись нельзя. Там сначала на нулл проверочка должна идти(которая сработает раньше присвоения) и потом вызов BeforePost. BeforeInsert - DataSet в состоянии dsBrowse. Вообщем, это нужно делать в OnNewRecord :-)))


exit   (2002-11-11 16:30:00) [2]

Но ведь оно не должно быть пустым? Или я не понимаю что значит таблица "Detail"... Если не можешь настроить связь master-detail на автоподстановку, напиши в BeforeInsert или BeforePost руками TableDetailMasterID.Value := TableMasterID.Value


NiBL   (2002-11-11 16:21:00) [3]

Он вставляет все кроме поля внешнего ключа оно пустое.


exit   (2002-11-11 15:27:00) [4]

Наиболее вероятный ответ: при INSERT не заполняется одно или несколько из NOT NULLполей,
хотя у =Andriano= и на сей раз, вероятно, точка зрения будет иной.


Andriano   (2002-11-11 15:19:00) [5]

2 exit

Сначала использовал ":", потом "?" - разницы не заметил.


exit   (2002-11-11 15:12:00) [6]

(На первый взгляд...)
В FibPlus, на сколько я помню, параметры обозначаются так:

INSERT INTO PERSONAL (
ID,
IDX,
FIO,
DOLGN,
PHONE
)
VALUES (
?ID,
?Mas_ID,
?FIO,
?DOLGN,
?PHONE )


> Я там все сделал :

Там есть мастер.


Andriano   (2002-11-11 15:10:00) [7]

Не вставляются - возникает исключение, или молча, или вставляются, но неверно отображаются

RefreshSql по-моему надо так:
SELECT * FROM PERSONAL
WHERE PERSONAL.ID=?OLD_ID
(Ты ведь обновляешь строку у которой и так IDX нужный)

Как это IDX=:ID (IDX, ID - разные колонки одной таблицы)?

Добавь SQLMonitor на форму и выводи события типа Execute в Memo. Так понятнее всего, что происходит.


KoluChi   (2002-11-11 15:02:00) [8]

Что такое Detal таблица?


Наверх

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