Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.08.03;
Скачать: 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 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.02 c
15-1213888145
@!!ex
2008-06-19 19:09
2008.08.03
Подойдут ли детали к "Туристу"?


2-1215240510
Максим
2008-07-05 10:48
2008.08.03
combobox


2-1215108408
Lesnik
2008-07-03 22:06
2008.08.03
AfalinaSoft Flat Controls 1.53 и Delphi 2007


6-1191397323
Gydvin
2007-10-03 11:42
2008.08.03
Узнать IP


15-1213860884
БарЛог
2008-06-19 11:34
2008.08.03
Хранение сессии в кукисах