Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.003 c
4-1245776300
robotic
2009-06-23 20:58
2011.03.13
Сохранить файл из ресурса (своего). Как?


15-1291223827
Haradzienski
2010-12-01 20:17
2011.03.13
Книги по Дэлфи


1-1247086513
Joker
2009-07-09 00:55
2011.03.13
Delphi, Flash, Адресное пространство, производительность, размер


8-1210548969
без ымени
2008-05-12 03:36
2011.03.13
как проиграть одновременно 2 звука без глюков.


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




   Наверх