Класс TParameter
Класс TParameter инкапсулирует отдельный параметр. Имя параметра определяется свойством:
property Name: WideString;
Тип данных, которому должно соответствовать его значение, задается свойством:
TDataType = TFieldType; property DataType: TDataType;
И так как параметры взаимодействуют с полями таблиц БД, то тип данных параметров совпадает с типами данных полей. От типа данных зависит размер параметра:
property Size: Integer;
…который может быть изменен для строкового или символьного типа данных и им подобных.
Само значение параметра содержится в свойстве:
property Value: OleVariant;
А свойство:
type TParameterAttribute = (paSigned, paNullable, paLong); TParameterAttributes = set of TParameterAttribute; property Attributes: TParameterAttributes;
…контролирует значение, присваиваемое параметру:
- paSigned – значение может быть символьным;
- paNullable – значение параметра может быть пустым;
- paLong – значение может содержать данные типа BLOB.
Тип параметра задается свойством:
type TParameterDirection = (pdUnknown, pdlnput, pdOutput, pdlnputOutput, pdReturnValue); property Direction: TParameterDirection;
Где:
- pdUnknown – неизвестный тип, источник данных попытается определить его самостоятельно;
- pdinput – входной параметр, используется в запросах и хранимых процедурах;
- pdOutput – выходной параметр, используется в хранимых процедурах;
- pdlnputOutput – входной и выходной параметр одновременно, используется в хранимых процедурах;
- pdReturnValue – параметр для передачи значения.
Если параметр должен передавать большие бинарные массивы (например, изображения или файлы), то значение параметра можно загрузить, используя методы:
procedure LoadFromFile(const FileName: String; DataType: TDataType);
…и:
procedure LoadFromStream(Stream: TStream; DataType: TDataType);