Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.03.13;
Скачать: CL | DM;

Вниз

поле не может содержать значение null   Найти похожие ветки 

 
RUu   (2010-12-22 17:13) [0]

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


 
12 ©   (2010-12-22 17:20) [1]


> where (id=:code)

а есть такие?


 
Palladin ©   (2010-12-22 17:21) [2]

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


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

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

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


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

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

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

это как?


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

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


 
Ega23 ©   (2010-12-22 17:24) [6]


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


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


 
Anatoly Podgoretsky ©   (2010-12-22 19:02) [7]

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


 
Anatoly Podgoretsky ©   (2010-12-22 19:03) [8]


> RUu   (22.12.10 17:23) [4]

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


 
Ega23 ©   (2010-12-22 19:06) [9]


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


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


 
Anatoly Podgoretsky ©   (2010-12-22 19:50) [10]

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

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


 
sniknik ©   (2010-12-22 20:04) [11]

а можно, в качестве извращения, составить запрос так чтобы требовался только 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


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



Страницы: 1 вся ветка

Текущий архив: 2011.03.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.009 c
15-1291052230
polkin
2010-11-29 20:37
2011.03.13
SHA1


2-1292790210
radiokarazinec
2010-12-19 23:23
2011.03.13
TImage интересный вопрос


2-1292907366
RUu
2010-12-21 07:56
2011.03.13
перечислить таблицы


4-1246190749
proger_ru
2009-06-28 16:05
2011.03.13
отслеживание устройств


15-1290750614
TUser
2010-11-26 08:50
2011.03.13
Об ответственном обращении с животными