Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Задание значения 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 для параметра.


Наверх

Титульная страница Поиск, карта сайта Написать письмо