powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Передача в хранимую процедуру параметра со значением NULL
8 сообщений из 8, страница 1 из 1
Передача в хранимую процедуру параметра со значением NULL
    #32005262
saint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то не выходит. Насколько я понимаю, значение NULL необходимо передавать в стандарте ANSI... Но описания нигде не видно... Может кто поможет?
...
Рейтинг: 0 / 0
Передача в хранимую процедуру параметра со значением NULL
    #32005277
Павел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что то я вопроса не понял Ну и передавай Null типа exec sp_test Null
А вот в процедуре, если исползуешь параметр в where, то типа where fld Is Null
В общем непонятно что именно не работает. Уточни или кинь код.
...
Рейтинг: 0 / 0
Передача в хранимую процедуру параметра со значением NULL
    #32005303
saint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перефразирую вопрос:
Хранимая процедура вызываеться через ADO. В объекте COMMAND создаеться коллекция параметров. Так вот что необходимо написать в свойстве VALUE объекта PARAMETER, для того что-бы значение параметра было NULL? Тип параметра GUID. В хранимой процедуре он используеться для Insert-а.
...
Рейтинг: 0 / 0
Передача в хранимую процедуру параметра со значением NULL
    #32005304
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У адошного параметра для value (он же типа variant) установить VT_NULL
...
Рейтинг: 0 / 0
Передача в хранимую процедуру параметра со значением NULL
    #32005305
saint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чему равна констатна VT_NULL?
...
Рейтинг: 0 / 0
Передача в хранимую процедуру параметра со значением NULL
    #32005306
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще Variant - это довольно сложная структура. Вот её описание из паскалевского нелпа


TVarData represents the internal structure of a Variant variable.

Unit

System

const
varEmpty = $0000;
varNull = $0001;
varSmallint = $0002;
varInteger = $0003;
varSingle = $0004;
varDouble = $0005;
varCurrency = $0006;
varDate = $0007;
varOleStr = $0008;
varDispatch = $0009;
varError = $000A;
varBoolean = $000B;
varVariant = $000C;
varUnknown = $000D;
varString = $0100;
varAny = $0101;
varTypeMask = $0FFF;
varArray = $2000;
varByRef = $4000;

type
TVarArrayBound = packed record
ElementCount: Integer;
LowBound: Integer;
end;

PVarArray = ^TVarArray;
TVarArray = packed record
DimCount: Word;
Flags: Word;
ElementSize: Integer;
LockCount: Integer;
Data: Pointer;
Bounds: array[0..255] of TVarArrayBound;
end;

TVarData = packed record
VType: Word;
Reserved1, Reserved2, Reserved3: Word;
case Integer of
varSmallint: (VSmallint: Smallint);
varInteger: (VInteger: Integer);
varSingle: (VSingle: Single);
varDouble: (VDouble: Double);
varCurrency: (VCurrency: Currency);
varDate: (VDate: Double);
varOleStr: (VOleStr: PWideChar);
varDispatch: (VDispatch: Pointer);
varError: (VError: Longword);
varBoolean: (VBoolean: WordBool);
varUnknown: (VUnknown: Pointer);
varByte: (VByte: Byte);
varString: (VString: Pointer);
varAny: (VAny: Pointer);
varArray: (VArray: PVarArray);
varByRef: (VPointer: Pointer);
end;

Очевидно для значения null нужно чтобы поле TVarData.VType было равно varNull, т.е. $0001

Оно Вам надо - все это знать?
...
Рейтинг: 0 / 0
Передача в хранимую процедуру параметра со значением NULL
    #32005307
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
8-() Ну ты даешь! MSDN - рулез форева, однако


_ParameterPtr param;
param.CreateInstance(__uuidof(Parameter));
param->Value.vt = VT_NULL;

А VT_NULL = 1, если что... See wtypes.h или все тот же MSDN.
...
Рейтинг: 0 / 0
Передача в хранимую процедуру параметра со значением NULL
    #32005308
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 SergSuper: мое удивление относилось к Saint'у. На момент написания моего сообщения твое не было видно.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Передача в хранимую процедуру параметра со значением NULL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]