Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

поле не может содержать значение null


RUu ©   (2010-12-22 17:13:00) 

Пытаюсь выполнить запрос:
update table1 set field1=field+:dx, field2=field2-:dx where (id=:code)
Получаю ошибку "Поле 'table1.field2' не может содержать значение Null, так как свойство Required имеет значение True". Параметр dx заполняется нужным значением, там не null.
БД - access, оба поля поставлены как обязательные. Отчего такая ошибка? Синтаксис неправильный?


sniknik   (2010-12-22 20:04:00) [1]

а можно, в качестве извращения, составить запрос так чтобы требовался только 1 параметр...
UPDATE table1 c
INNER JOIN (SELECT TOP 1 :code AS ID, :dx AS dx FROM table1) n ON c.ID = n.ID
SET
c.field1=c.field+n.dx,
c.field2=c.field2-n.dx


хотя, я бы не стал.


Anatoly Podgoretsky   (2010-12-22 19:50:00) [2]

> Ega23  (22.12.2010 19:06:09)  [9]

Можно и по алиасам, только для P1 свой алиас, а для P2 свой


Ega23   (2010-12-22 19:06:00) [3]


> Это правильно, а не по алиасам


Спорный вопрос.


Anatoly Podgoretsky   (2010-12-22 19:03:00) [4]


> RUu   (22.12.10 17:23) [4]

Это правильно, а не по алиасам, да еще почему два разных параметра имеют одинаковый алиас!


Anatoly Podgoretsky   (2010-12-22 19:02:00) [5]

Давай говорить не о именах, а о параметров.
Скажи чему равен Parameter 2?


Медвежонок ХМЛ   (2010-12-22 17:24:00) [6]

это не по имени


Ega23   (2010-12-22 17:24:00) [7]


>  Параметр dx заполняется нужным значением, там не null.


В первом - не null. Во втором - null, т.к. ты его не заполнил.
Если ты наивно думаешь, что движок параметров пойдёт по всему списку, и если имя совпало - подставит туда значение, то ты ошибаешься.
Поиск будет до первого совпадения.


RUu   (2010-12-22 17:23:00) [8]

> where (id=:code)
а есть такие?
да, запись с таким кодом существует

> используй доступ к параметрам по индексу

это как?


Медвежонок ХМЛ   (2010-12-22 17:22:00) [9]

>Отчего такая ошибка?
От того, что в тексте ошибки про это сказано.

Параметр dx заполняется нужным значением, там не null.
Акцессу виднее, нул оно или не нул.


Palladin   (2010-12-22 17:21:00) [10]

или назови параметры dx по разному или используй доступ к параметрам по индексу


12   (2010-12-22 17:20:00) [11]


> where (id=:code)

а есть такие?


Наверх

Титульная страница Поиск, карта сайта Написать письмо