Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Не обновляются Null значения.... / 6 сообщений из 6, страница 1 из 1
29.10.2003, 14:08
    #32308943
UginX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются Null значения....
Всем привет!
Помогите - какой-то затык,
использую IBDataSet, сервер FiriBird 1.0.3,
при модификации значения в таблице, там где раньше были Null значения, ничего не меняется.
...
Рейтинг: 0 / 0
29.10.2003, 14:21
    #32308978
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются Null значения....
Я не силен в FiriBird 1.0.3, но не мешало бы показать инструкцию на обновление.
...
Рейтинг: 0 / 0
29.10.2003, 14:34
    #32309012
UginX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются Null значения....
выбор данных:

select CODE, NAME, ON_ACCOUNT from CUSTOMERS

а модификация -

update CUSTOMERS
set
CODE = :CODE,
NAME = :NAME,
ON_ACCOUNT = :ON_ACCOUNT
where
CODE = :OLD_CODE and
NAME = :OLD_NAME and
ON_ACCOUNT = :OLD_ON_ACCOUNT


В поле ON_ACCOUNT, при добавления клиента, пишется Null.
А потом хотелось бы его поменять.

После каждого Post'a делаю CommitRetainig транзакции, при закрытия формы делаю Commit...
Не меняется...
...
Рейтинг: 0 / 0
29.10.2003, 14:45
    #32309040
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются Null значения....
where
CODE = :OLD_CODE and
NAME = :OLD_NAME and
ON_ACCOUNT = :OLD_ON_ACCOUNT

Раз при вставе было NULL, а потом ты хочешь изменить значение, то условие будет типа ON_ACCOUNT = NULL . Не знаю, как в FiriBird 1.0.3, но в сиквеле по такому условию не будет обработано ни одной записи. Надо IS NULL, или SET ANSI_NULLS OFF сначала. Но это все применительно к сиквелу. Да, а почему ты апдэйтишь не по первичному ключу?
...
Рейтинг: 0 / 0
29.10.2003, 15:14
    #32309107
UginX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются Null значения....
э...
насчет первичного ключа - да, ты прав, все работает с первичным ключем, а если нет первичных ключей в таблице (например в эту таблицу ежедневно заносятся данные о покупках клиентов) и нет возможности добавить в таблицу еще одно поле, в кач-ве ключа?


where
....
(ON_ACCOUNT = :OLD_ON_ACCOUNT OR ON_ACCOUNT IS NULL)

не работает...
...
Рейтинг: 0 / 0
29.10.2003, 15:23
    #32309142
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются Null значения....
Давай определимся сразу, что отсутсвие в таблице первичного ключа - ключевая ошибка проектирования. И почему нет возможности добавить автоинкрементное поле, например, в качестве суррогатного ключа?

А так

Код: plaintext
ISNULL(ON_ACCOUNT,  0 ) = ISNULL(:OLD_ON_ACCOUNT,  0 ) 
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Не обновляются Null значения.... / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]