Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Метод InsertRow() / 11 сообщений из 11, страница 1 из 1
06.04.2011, 10:27
    #37201728
G
G
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Метод InsertRow()
Добрый день.
Работаю с базой 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
06.04.2011, 12:35
    #37202149
PaulJB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Метод InsertRow()
В списке Updateable Columns Эта колонка отмечена?
...
Рейтинг: 0 / 0
06.04.2011, 12:39
    #37202166
VanoR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Метод InsertRow()
Update properties датавинды нужно смотреть
если не поможет, то тупо триггер на таблицу повесить
...
Рейтинг: 0 / 0
06.04.2011, 12:52
    #37202234
G
G
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Метод InsertRow()
Да, в списке updatable columns эта колонка отмечена. Потому то она и попадает в команду update, которая и выдаёт ошибку. Иначе бы, если бы в update-е не было этой колонки, база бы сама вставила значение по умолчанию.
...
Рейтинг: 0 / 0
06.04.2011, 13:04
    #37202282
Shtuckenshnuder
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Метод InsertRow()
>>задаными в базе по умолчанию

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

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

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


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