![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Задание значения NULL через параметры [D5, D6, D7, MSSQL]
Spectre © (2004-03-04 14:27:00)Я создаю запись в БД MS SQL. SQL-запрос создан с использованием параметров. Мне не удается создать запись, если хотя бы одно из полей должно быть нулевым. Как это можно исправить я не знаю. Структура БД позволяет делать поле нулевым.
Если это имеет значение, то поля типа datetime, работаю через DBExpress, компонент TSQLQuery
sniknik (2004-03-11 16:54:00) [1]ADO
ADOCommand1.CommandText:= 'INSERT INTO ATab (Name,Dat,Dat2) VALUES (''DTest'',:Dat1,:Dat2)';
ADOCommand1.Parameters.ParamByName('Dat1').Value:= Now;
ADOCommand1.Parameters.ParamByName('Dat2').Value:= Null;
ADOCommand1.Execute;
работает. поля Dat,Dat2 типа - DateTime.
Spectre (2004-03-11 16:34:00) [2]Люди, неужели проблему с заданием нулевых значений полей через параметры решить нельзя?!
Spectre (2004-03-04 15:23:00) [3]VAleksey:
К сожалению, при вызове метода Clear получаем очень неприятную ошибку, от которой нельзя избавиться. =(
На FieldType по-моему ругается =(
Asdor:
Я сделал так же, вопрос: возможно ли найти более элегантное решение?
В любом случае спасибо всем ответившим.
Asdor (2004-03-04 14:54:00) [4]Судя по всему, придется анализировать значения параметров и если параметр NULL - менять запрос.
Такая проблема была еще в BDE - через параметры полю нельзя было присвоить значение NULL.
Ega23 (2004-03-04 14:39:00) [5]В таблице на поле директива NOT NULL стоит? Если да, то какой Default?
VAleksey (2004-03-04 14:35:00) [6]Попробуй вызвать метод Clear для параметра.