powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Метод InsertRow()
11 сообщений из 11, страница 1 из 1
Метод InsertRow()
    #37201728
G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
G
Гость
Добрый день.
Работаю с базой Oracle. Проблема - с методом InsertRow(). Метод правильно инициализирует поля значениями, задаными в базе по умолчанию. На экране я вижу их. Но реально, когда получаешь значение колонки DW в переменную, там оказывается пустое значение, т.е.

int i,val
i=dw.InsertRow(0)
val=dw.Object.col[i]
Значение val оказывается равным null, а на экране dw.Object.col[i] равна 0.
И, если пользователь не меняет эту колронку и в базу отправляется значение по умолчанию, а колонка не допускает пустых значений, то выдаётся соответствующая ошибка: колонка col не может принимать значение null.

Объясните, пжт, где, в таком случае, хранятся проинициализированные значения для вновь добавленной строки, которые я вижу на экране. Метод AcceptText() не помогает.
Спасибо.
...
Рейтинг: 0 / 0
Метод InsertRow()
    #37202149
PaulJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В списке Updateable Columns Эта колонка отмечена?
...
Рейтинг: 0 / 0
Метод InsertRow()
    #37202166
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Update properties датавинды нужно смотреть
если не поможет, то тупо триггер на таблицу повесить
...
Рейтинг: 0 / 0
Метод InsertRow()
    #37202234
G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
G
Гость
Да, в списке updatable columns эта колонка отмечена. Потому то она и попадает в команду update, которая и выдаёт ошибку. Иначе бы, если бы в update-е не было этой колонки, база бы сама вставила значение по умолчанию.
...
Рейтинг: 0 / 0
Метод InsertRow()
    #37202282
Shtuckenshnuder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>>задаными в базе по умолчанию

В базе или в DW? Если в базе, то не нужно включать колонку в UPDATE.
Попробуй поставить значения по умолчанию в свойствах колонки DW. То, что ты видишь на экране, скорее всего свойства Format
...
Рейтинг: 0 / 0
Метод InsertRow()
    #37202325
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shtuckenshnuder>>задаными в базе по умолчанию

В базе или в DW? Если в базе, то не нужно включать колонку в UPDATE.

Это абсолютно некорректный совет.
Все изменяемые колонки должны быть включены для update.
...
Рейтинг: 0 / 0
Метод InsertRow()
    #37202367
Shtuckenshnuder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это я к тому сказал, что если в БД установлено значение по умолчанию, то оно будет устанавливаться только в том случае если колонка не включена в UPDATE.
А вообще разработчик сам решает, нужно изменять колонку или нет. Это не есть тема данного обсуждения...
...
Рейтинг: 0 / 0
Метод InsertRow()
    #37202403
PaulJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой формат (значение свойства Format) отображения колонки Col в DW и тип ее редактора ?
...
Рейтинг: 0 / 0
Метод InsertRow()
    #37202761
G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
G
Гость
Спасибо за помощь. Похоже, эти значения действительно не хранятся в буферах, а просто отображаются на экране.
...
Рейтинг: 0 / 0
Метод InsertRow()
    #37202880
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GСпасибо за помощь. Похоже, эти значения действительно не хранятся в буферах, а просто отображаются на экране.
Нет. Если значение из столбца отображается, то оно есть в буфере.
Что за "эти значения" ? Где вы их задаете?
...
Рейтинг: 0 / 0
Метод InsertRow()
    #37202931
PaulJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У вопрошающего, возможно, в формате отображения для колонки установлено "отображать 0 для значений NULL", ибо про содержимое колонки он судит по отображению на экране.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Метод InsertRow()
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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