Главная страница
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.007 c
2-1292936617
adigozelov
2010-12-21 16:03
2011.03.13
Struktur db


4-1246385316
deplomat
2009-06-30 22:08
2011.03.13
Проблемы с выводом битмапа (выводяться, а потом перестают)


2-1292881339
Knob
2010-12-21 00:42
2011.03.13
Запуск приложения по завершении работы программы


2-1292864688
Артём
2010-12-20 20:04
2011.03.13
Использование компонента WebBrowser


1-1248884182
Tornado
2009-07-29 20:16
2011.03.13
Как построить график?