|
Класс TParam
Класс TParam
инкапсулирует свойства отдельного параметра. Имя параметра
определяется свойством
property Name: String;
Тип данных параметра задает свойство
property DataType:
TFieldType;
Тип данных параметра и связанного поля
должны совпадать.
Тип параметра определяется множеством
type
TParamType = (ptUnknown,
ptInput, ptOutput, ptlnputOutput, ptResult); TParamTypes
= set of TParamType;
которое имеет следующие значения:
- ptUnknown
— тип неизвестен;
- ptinput
— параметр предназначен для передачи значения из приложения;
- ptOutput
— параметр предназначен для передачи значения в приложение;
- ptlnputOutput
— параметр предназначен для передачи и приема значения;
- ptResult
— параметр предназначен для передачи в приложения
информации о статусе операции.
Свойство
property ParamType:
TParamType;
определяет тип параметра.
При работе с параметрами довольно часто
бывает необходимо определить, имеет ли параметр ненулевое
значение. Для этого используется свойство
property IsNull:
Boolean;
Свойство возвращает значение True,
если параметр не имеет значения или имеет значение Null.
Свойство
property Bound: Boolean;
возвращает значение
True только тогда, когда параметру не присваивалось
значение вообще.
Метод
procedure Clear;
присваивает параметру значение Null.
Само значение параметра задается свойством
property Value: Variant;
Но использование вариантов не очень
эффективно, когда требуется обеспечить максимальную
скорость. В таких случаях можно обратиться к целому
набору свойств AS ..., которые
не только возвращают значение, но и приводят его к некоторому
типу. Например, свойство
property Aslnteger:
Longlnt;
возвращает целочисленное значение поля.
Примечание
Необходимо осторожно использовать
свойства с приведением типа, т. к. попытка преобразования
неверного значения вызовет исключительную ситуацию.
Для чтения из буфера и записи в буфер
значения параметра соответственно используются методы
procedure SetData(Buffer:
Pointer);
procedure GetData(Buffer:
Pointer);
а необходимый размер при записи в буфер
позволит определить метод
function GetDataSize:
Integer;
Можно скопировать тип данных, имя и
значение параметра прямо из поля данных. Для этого применяется
метод
procedure AssignField(Field:
TField);
а для присвоения типа данных и значения
используется метод
procedure AssignFieldValue(Field:
TField; const Value: Variant);
Общее число знаков для числовых значений
определяет свойство
property Precision:
Integer;
А свойство
property NumericScale:
Integer;
задает число знаков после запятой.
Для строковых параметров размер задает
свойство
property Size: Integer;
|