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

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
Не обновляются Null значения....
    #32309040
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Не обновляются Null значения....
    #32309107
UginX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
э...
насчет первичного ключа - да, ты прав, все работает с первичным ключем, а если нет первичных ключей в таблице (например в эту таблицу ежедневно заносятся данные о покупках клиентов) и нет возможности добавить в таблицу еще одно поле, в кач-ве ключа?


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

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

А так

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


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