Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1291052230
polkin
2010-11-29 20:37
2011.03.13
SHA1


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


1-1248526413
ford
2009-07-25 16:53
2011.03.13
проверка орфографии


15-1291245214
Германн
2010-12-02 02:13
2011.03.13
Как проще всего (с минимальными затратами времени) создать


15-1290806981
Юрий
2010-11-27 00:29
2011.03.13
С днем рождения ! 27 ноября 2010 суббота





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский