Форум: "Начинающим";
Текущий архив: 2011.03.13;
Скачать: [xml.tar.bz2];
Внизполе не может содержать значение 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.004 c