Neutral
User
 Junior Boarder
| Posts: 19 |   | Karma: 0 |
|
Проблема с InsertSQL полей имеющих признак NotNull
|
|
Posted: 2007/06/11 03:19 |
|
|
|
|
Здравствуйте, Дмитрий!
Подскажите пожалуйста, как решить следующую проблему:
Пример:
Имеется таблица TABLE1:
ID [pk, int(1,1)] FIELD1 [int, Allow Nulls=False] – Это поле является обязательным и имеет параметр Not Null (Allow Nulls=False) FIELD2 [int, Allow Nulls=True]
В приложении есть два компонента:
TADQuery TADUpdateSQL
TADQuery связан с TADUpdateSQL
В свойстве TADUpdateSQL.InsertSQL:
INSERT INTO [DBO].[TABLE1] ([FIELD1], [FIELD2]) VALUES (1, :FIELD2);
SELECT SCOPE_IDENTITY() AS [ID], [FIELD1], [FIELD2] FROM [DBO].[TABLE1] WHERE [ID] = SCOPE_IDENTITY();
У компонента TADQuery Свойство UpdateOptions.UpdateChangedFields=False.
Проблема заключается в следующем:
При добавлении новой записи возникает ошибка:
EDatabaseError with message ‘Field ‘FIELD1’ must have a value’.
Не пойму в чем проблема ведь в InsertSQL явно указано значение этого поля. Если снять у поля FIELD1 признак обязательного поля (AllowNulls=True), то вставка записи проходит успешно и ошибка не возникает.
Почему возникает ошибка, ведь значение для поля в InsertSQL указано явно.
Заранее спасибо за ответ!
|
|