📄 myldbvariant.pas
字号:
begin
SetDataValue(Value, bftUnsignedInt8);
end;//SetDataAsUnsignedInt8
//------------------------------------------------------------------------------
// Get Data for Unsigned Int8 (Byte)
//------------------------------------------------------------------------------
function TMYLDBVariant.GetDataAsUnsignedInt8: Byte;
begin
GetDataValue(Result, bftUnsignedInt8);
end;//GetDataAsUnsignedInt8
//------------------------------------------------------------------------------
// Set Data for Unsigned Int16 (Word)
//------------------------------------------------------------------------------
procedure TMYLDBVariant.SetDataAsUnsignedInt16(Value: Word);
begin
SetDataValue(Value, bftUnsignedInt16);
end;//SetDataAsUnsignedInt16
//------------------------------------------------------------------------------
// Get Data for Unsigned Int16 (Word)
//------------------------------------------------------------------------------
function TMYLDBVariant.GetDataAsUnsignedInt16: Word;
begin
GetDataValue(Result, bftUnsignedInt16);
end;//GetDataAsUnsignedInt16
//------------------------------------------------------------------------------
// Set Data for Unsigned Int32 (Cardinal)
//------------------------------------------------------------------------------
procedure TMYLDBVariant.SetDataAsUnsignedInt32(Value: Cardinal);
begin
SetDataValue(Value, bftUnsignedInt32);
end;//SetDataAsUnsignedInt32
//------------------------------------------------------------------------------
// Get Data for Unsigned Int32 (Cardinal)
//------------------------------------------------------------------------------
function TMYLDBVariant.GetDataAsUnsignedInt32: Cardinal;
begin
GetDataValue(Result, bftUnsignedInt32);
end;//GetDataAsUnsignedInt32
//------------------------------------------------------------------------------
// Set Data for Char, Varchar (String)
//------------------------------------------------------------------------------
procedure TMYLDBVariant.SetDataAsString(Value: String);
begin
SetDataValue(Value, bftVarchar);
end;//SetDataAsString
//------------------------------------------------------------------------------
// Get Data as String
//------------------------------------------------------------------------------
function TMYLDBVariant.GetDataAsString: String;
begin
GetDataValue(Result, bftVarchar);
end;//GetDataAsString
//------------------------------------------------------------------------------
// Set Data for WideChar, WideVarchar (WideString)
//------------------------------------------------------------------------------
procedure TMYLDBVariant.SetDataAsWideString(Value: WideString);
begin
SetDataValue(Value, bftWideVarchar);
end;//SetDataAsWideString
//------------------------------------------------------------------------------
// Get Data as WideString
//------------------------------------------------------------------------------
function TMYLDBVariant.GetDataAsWideString: WideString;
begin
GetDataValue(Result, bftWideVarchar);
end;//GetDataAsWideString
//------------------------------------------------------------------------------
// Set Data for Single
//------------------------------------------------------------------------------
procedure TMYLDBVariant.SetDataAsSingle(Value: Single);
begin
SetDataValue(Value, bftSingle);
end;//SetDataAsSingle
//------------------------------------------------------------------------------
// Get Data for Single
//------------------------------------------------------------------------------
function TMYLDBVariant.GetDataAsSingle: Single;
begin
GetDataValue(Result, bftSingle);
end;//GetDataAsSingle
//------------------------------------------------------------------------------
// Set Data for Double
//------------------------------------------------------------------------------
procedure TMYLDBVariant.SetDataAsDouble(Value: Double);
begin
SetDataValue(Value, bftDouble);
end;//SetDataAsDouble
//------------------------------------------------------------------------------
// Get Data for Double
//------------------------------------------------------------------------------
function TMYLDBVariant.GetDataAsDouble: Double;
begin
GetDataValue(Result, bftDouble);
end;//GetDataAsDouble
//------------------------------------------------------------------------------
// Set Data for Extended
//------------------------------------------------------------------------------
procedure TMYLDBVariant.SetDataAsExtended(Value: Extended);
begin
SetDataValue(Value, bftExtended);
end;//SetDataAsExtended
//------------------------------------------------------------------------------
// Get Data for Extended
//------------------------------------------------------------------------------
function TMYLDBVariant.GetDataAsExtended: Extended;
begin
GetDataValue(Result, bftExtended);
end;//GetDataAsExtended
//------------------------------------------------------------------------------
// Set Data for MYLDBDate
//------------------------------------------------------------------------------
procedure TMYLDBVariant.SetDataAsMYLDBDate(Value: TMYLDBDate);
begin
SetDataValue(Value, bftDate);
end;//SetDataAsMYLDBDate
//------------------------------------------------------------------------------
// Get Data for MYLDBDate
//------------------------------------------------------------------------------
function TMYLDBVariant.GetDataAsMYLDBDate: TMYLDBDate;
begin
GetDataValue(Result, bftDate);
end;//GetDataAsMYLDBDate
//------------------------------------------------------------------------------
// Set Data for TDate
//------------------------------------------------------------------------------
procedure TMYLDBVariant.SetDataAsTDate(Value: TDateTime);
begin
SetDataAsMYLDBDate(DateToMYLDBDate(Value));
end;//SetDataAsTDate
//------------------------------------------------------------------------------
// Get Data for TDate
//------------------------------------------------------------------------------
function TMYLDBVariant.GetDataAsTDate: TDateTime;
begin
Result := MYLDBDateToDate(GetDataAsMYLDBDate);
end;//GetDataAsTDate
//------------------------------------------------------------------------------
// Set Data for MYLDBTime
//------------------------------------------------------------------------------
procedure TMYLDBVariant.SetDataAsMYLDBTime(Value: TMYLDBTime);
begin
SetDataValue(Value, bftTime);
end;//SetDataAsMYLDBTime
//------------------------------------------------------------------------------
// Get Data for MYLDBTime
//------------------------------------------------------------------------------
function TMYLDBVariant.GetDataAsMYLDBTime: TMYLDBTime;
begin
GetDataValue(Result, bftTime);
end;//GetDataAsMYLDBTime
//------------------------------------------------------------------------------
// Set Data for TTime
//------------------------------------------------------------------------------
procedure TMYLDBVariant.SetDataAsTTime(Value: TDateTime);
begin
SetDataAsMYLDBTime(TimeToMYLDBTime(Value));
end;//SetDataAsTTime
//------------------------------------------------------------------------------
// Get Data for MYLDBTime
//------------------------------------------------------------------------------
function TMYLDBVariant.GetDataAsTTime: TDateTime;
begin
Result := MYLDBTimeToTime(GetDataAsMYLDBTime);
end;//GetDataAsTTime
//------------------------------------------------------------------------------
// Set Data for MYLDBDateTime
//------------------------------------------------------------------------------
procedure TMYLDBVariant.SetDataAsMYLDBDateTime(Value: TMYLDBDateTime);
begin
SetDataValue(Value, bftDateTime);
end;//SetDataAsMYLDBDateTime
//------------------------------------------------------------------------------
// Get Data for MYLDBDateTime
//------------------------------------------------------------------------------
function TMYLDBVariant.GetDataAsMYLDBDateTime: TMYLDBDateTime;
begin
GetDataValue(Result, bftDateTime);
end;//GetDataAsMYLDBDateTime
//------------------------------------------------------------------------------
// Set Data for TDateTime
//------------------------------------------------------------------------------
procedure TMYLDBVariant.SetDataAsTDateTime(Value: TDateTime);
begin
SetDataAsMYLDBDateTime(DateTimeToMYLDBDateTime(Value));
end;//SetDataAsTDateTime
//------------------------------------------------------------------------------
// Get Data for TDateTime
//------------------------------------------------------------------------------
function TMYLDBVariant.GetDataAsTDateTime: TDateTime;
begin
Result := MYLDBDateTimeToDateTime(GetDataAsMYLDBDateTime);
end;//GetDataAsTDateTime
procedure TMYLDBVariant.SetDataAsBoolean(Value: TMYLDBLogical);
begin
SetDataValue(Value, bftLogical);
end;
//------------------------------------------------------------------------------
// Get Data for Boolean
//------------------------------------------------------------------------------
function TMYLDBVariant.GetDataAsBoolean: TMYLDBLogical;
begin
GetDataValue(Result, bftLogical);
end;//GetDataAsBoolean
//------------------------------------------------------------------------------
// Set Data for Currency
//------------------------------------------------------------------------------
procedure TMYLDBVariant.SetDataAsCurrency(Value: TMYLDBCurrency);
begin
SetDataValue(Value, bftCurrency);
end;//SetDataAsCurrency
//------------------------------------------------------------------------------
// Get Data for Currency
//------------------------------------------------------------------------------
function TMYLDBVariant.GetDataAsCurrency: TMYLDBCurrency;
begin
GetDataValue(Result, bftCurrency);
end;//GetDataAsCurrency
//------------------------------------------------------------------------------
// Set Data from Borland Variant type
//------------------------------------------------------------------------------
procedure TMYLDBVariant.SetDataAsVariant(Value: Variant);
begin
case VarType(Value) of
varSmallint:
AsSmallint := Value;
varInteger:
AsInteger := Value;
varSingle:
AsSingle := Value;
varDouble:
AsDouble := Value;
varCurrency:
AsCurrency := Value;
varDate:
AsTDateTime := Value;
varOleStr:
AsWideString := Value;
//varDispatch
//varError
varBoolean: AsBoolean := Value;
//varVariant
//varUnknown
{$IFDEF D6H}
varShortInt:
AsShortInt := Value;
varWord:
AsWord := Value;
varLongWord:
AsCardinal := Value;
varInt64:
AsInt64 := Value;
{$ENDIF}
varByte:
AsByte := Value;
//varStrArg
//varString,
varString .. varString + $1F:
AsString := Value;
//varAny
//varTypeMask
//varArray
//varByRef
varNull, varEmpty:
SetNull(FDataType);
else
raise EMYLDBException.Create(30113, ErrorGUnsupportedVariantType, [IntToStr(VarType(Value))]);
end;
end;//SetDataAsVariant
//------------------------------------------------------------------------------
// Get Data to Borland Variant type
//------------------------------------------------------------------------------
function TMYLDBVariant.GetDataAsVariant: Variant;
begin
if (IsNull) then
Result := Null
else
case FDataType of
bftChar,
bftVarchar:
Result := AsString;
bftWideChar,
bftWideVarchar:
Result := AsWideString;
bftSignedInt8:
Result := AsShortint;
bftSignedInt16:
Result := AsSmallint;
bftSignedInt32:
Result := AsInteger;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -