![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
BEFORE INSERT - Error! Field Must Have A Value [D7, IB6.x]
azamatufa © (2008-01-21 20:33:00)Люди добрые! Помогите.
Использую TIBDataSet1.
В таблице есть поле ID (инкермент) для которого есть Гена и Триггер.
Говорю:
TIBDataSet1.Append;
...заполняю поля кроме ID
TIBDataSet1.Post;
и ругается что поле ID must have a value.
это поле делал по умолчанию NULL - не помогло
IBExpert прекрасно добавляет записи, делается инкремент..
Вроде бы если юзать IBQuery с запросом
INSERT INTO Table1 VALUES (NULL, 'ФИО', 'Адрес','Tel')
то работает...
как быть? нельзя ли все-таки Append'ом сделать?
Спасибо!!!!!!!!!!
Sergey13 (2008-02-21 08:45:00) [1]> [11] Sirus (21.02.08 07:28)
Ну и при чем тут ReadOnly:=True? Как по твоему возможность редактирования этого поля в датасете влияет на обязательность наличия его в таблице?
Sirus (2008-02-21 07:28:00) [2]
> 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-20 14:09:00) [3]> [9] Sirus (20.02.08 13:38)
> А вот и правильный ответ
Стоило поднимать месячной давности топик, что бы написать подобную фигню.
Sirus (2008-02-20 13:38:00) [4]А вот и правильный ответ: Свойство ReadOnly поля должно быть True.
Пример Query1Code.ReadOly:=True;
Code это поле по которому есть и генератор и триггер...
Sirus (2008-02-20 13:22:00) [5]тут дело скорее всего не в GeneratorField...
У меня есть две почти одинаковые формы для добавления записей в две таблицы... Так вот в одной форме insert into table (name) value (:name) проскакивает... а в другой форме не проскакивает и выдает field 'CODE' must have a value.
Таблицы одинаковые по структуре...
Правильный_Вася (2008-01-22 12:02:00) [6]
> Что криминального в том, чтобы полю, по котрому построен
> PK по умолчаниювыставлять Required?
ничего
только нужно понимать последствия и делать обработку
azamatufa (2008-01-22 09:33:00) [7]Спасибо Вам!!!
Помогло поле GeneratorField !!!
turbouser (2008-01-21 22:58:00) [8]
> Правильный_Вася (21.01.08 22:53) [4]
>
>
> > Неужели?
>
> ужели
Что криминального в том, чтобы полю, по котрому построен PK по умолчанию
выставлять Required?
Правильный_Вася (2008-01-21 22:53:00) [9]
> Неужели?
ужели
до IB дело не доходит
ЗЫ если "дельфийская ошибка" тобой воспринята как "ошибка борланда"
turbouser (2008-01-21 22:23:00) [10]
> Sergey Masloff (21.01.08 21:31) [2]
>
> Johnmen © (21.01.08 21:22) [1]
> Да не в этом дело. Это ж дельфийская ошибка
Неужели?
> azamatufa © (21.01.08 20:33)
У TIBDataSet есть свойство GeneratorField
Sergey Masloff (2008-01-21 21:31:00) [11]Johnmen © (21.01.08 21:22) [1]
Да не в этом дело. Это ж дельфийская ошибка он когда словарь читает для ключей генерит свойство Required в TField. Соответственно ругается еще до попытки выполнения любых SQL
Johnmen (2008-01-21 21:22:00) [12]У TIBDataSet есть, среди других, замечательное свойство InsertSQL.
СтОит посмотреть на него... Подумать...