Вниз
Скачать: CL | DM;

BEFORE INSERT - Error! Field Must Have A Value   Найти похожие ветки 

← →
azamatufa ©   (2008-01-21 20:33) [0]

Люди добрые! Помогите.

Использую TIBDataSet1.
В таблице есть поле ID (инкермент) для которого есть Гена и Триггер.

Говорю:
TIBDataSet1.Append;
...заполняю поля кроме ID
TIBDataSet1.Post;

и ругается что поле ID must have a value.
это поле делал по умолчанию NULL - не помогло

IBExpert прекрасно добавляет записи, делается инкремент..

Вроде бы если юзать IBQuery с запросом
INSERT INTO Table1 VALUES (NULL, "ФИО", "Адрес","Tel")
то работает...

как быть? нельзя ли все-таки Append"ом сделать?

Спасибо!!!!!!!!!!


← →
Johnmen ©   (2008-01-21 21:22) [1]

У TIBDataSet есть, среди других, замечательное свойство InsertSQL.
СтОит посмотреть на него... Подумать...


← →
Sergey Masloff   (2008-01-21 21:31) [2]

Johnmen ©   (21.01.08 21:22) [1]
Да не в этом дело. Это ж дельфийская ошибка он когда словарь читает для ключей генерит свойство Required в TField. Соответственно ругается еще до попытки выполнения любых SQL


← →
turbouser ©   (2008-01-21 22:23) [3]


> Sergey Masloff   (21.01.08 21:31) [2]
>
> Johnmen ©   (21.01.08 21:22) [1]
> Да не в этом дело. Это ж дельфийская ошибка

Неужели?

> azamatufa ©   (21.01.08 20:33)  

У TIBDataSet есть свойство GeneratorField


← →
Правильный_Вася   (2008-01-21 22:53) [4]


> Неужели?

ужели
до IB дело не доходит

ЗЫ если "дельфийская ошибка" тобой воспринята как "ошибка борланда"


← →
turbouser ©   (2008-01-21 22:58) [5]


> Правильный_Вася   (21.01.08 22:53) [4]
>
>
> > Неужели?
>
> ужели

Что криминального в том, чтобы полю, по котрому построен PK по умолчанию
выставлять Required?


← →
azamatufa ©   (2008-01-22 09:33) [6]

Спасибо Вам!!!
Помогло поле GeneratorField !!!


← →
Правильный_Вася   (2008-01-22 12:02) [7]


> Что криминального в том, чтобы полю, по котрому построен
> PK по умолчаниювыставлять Required?

ничего
только нужно понимать последствия и делать обработку


← →
Sirus   (2008-02-20 13:22) [8]

тут дело скорее всего не в GeneratorField...
У меня есть две почти одинаковые формы для добавления записей в две таблицы... Так вот в одной форме insert into table (name) value (:name) проскакивает... а в другой форме не проскакивает и выдает field "CODE" must have a value.
Таблицы одинаковые по структуре...


← →
Sirus   (2008-02-20 13:38) [9]

А вот и правильный ответ: Свойство ReadOnly поля должно быть True.
Пример Query1Code.ReadOly:=True;
Code это поле по которому есть и генератор и триггер...


← →
Sergey13 ©   (2008-02-20 14:09) [10]

> [9] Sirus   (20.02.08 13:38)
> А вот и правильный ответ

Стоило поднимать месячной давности топик, что бы написать подобную фигню.


← →
Sirus   (2008-02-21 07:28) [11]


> Sergey13 ©   (20.02.08 14:09) [10]
> > [9] Sirus   (20.02.08 13:38)
> > А вот и правильный ответ
>
> Стоило поднимать месячной давности топик, что бы написать
> подобную фигню.

Это не фигня... Если поищешь в инете то поиск тебе ничего такого не даст. Все считают что этот вопрос слишком легок чтобы писать о нем в инете. На самом деле очень много людей пишут insert into Table1 (Code, Name) values (:Code, :Name) вместо insert into Table1 (Name) values (:Name)


← →
Sergey13 ©   (2008-02-21 08:45) [12]

> [11] Sirus   (21.02.08 07:28)

Ну и при чем тут ReadOnly:=True? Как по твоему возможность редактирования этого поля в датасете влияет на обязательность наличия его в таблице?



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.011 c
15-1213951578
palva
2008-06-20 12:46
2008.08.03
Знаете ли вы, что Ubuntu это на самом деле...


2-1215360644
observateur
2008-07-06 20:10
2008.08.03
widestring


6-1191491127
Tonich
2007-10-04 13:45
2008.08.03
OnDisconnect


6-1190972431
botaniQ
2007-09-28 13:40
2008.08.03
Переход в TWebBrowser...


2-1214983496
MaryM
2008-07-02 11:24
2008.08.03
Перемещение узлов TTreeView drag&drop ом




   Наверх