Казус "Ъ" (твердого знака)
Добавлено: 06 июн 2006, 17:03
есть запрос, формируемый пользователем по заполнению формы. в одной из граф необходимо указать число. по ошибке пользователь в конце числа ставит твердый знак. SQL-сервер пропускает это спокойно. все вроде бы нормально. однако, после обновления данных в таблице присутствуют только то, что он указал в форме.
анализ показал, что Firebird 1.5 отсекает из запросе все, что стоит после такого символа. пример запроса:
06.06.2006 15:30:13
update RDepository set Id_Component = 383, Id_Unit = 3, TypeId = 1, Quantity = 15ъ where (Id = 8442);
т.е. 'where (Id = 8442);' просто не обработалось и все данные были заменены на приведенные....
выполнении запроса повторюсь сообщений об ошибке не было.
если написать так:
update RDepository set Id_Component = 383, Id_Unit = 3, TypeId = 1, Quantity = '15ъ' where (Id = 8442);
, то сообщение появляется.
анализ показал, что Firebird 1.5 отсекает из запросе все, что стоит после такого символа. пример запроса:
06.06.2006 15:30:13
update RDepository set Id_Component = 383, Id_Unit = 3, TypeId = 1, Quantity = 15ъ where (Id = 8442);
т.е. 'where (Id = 8442);' просто не обработалось и все данные были заменены на приведенные....
выполнении запроса повторюсь сообщений об ошибке не было.
если написать так:
update RDepository set Id_Component = 383, Id_Unit = 3, TypeId = 1, Quantity = '15ъ' where (Id = 8442);
, то сообщение появляется.