⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myldbvariant.pas

📁 一个本地database引擎,支持中文T_Sql查询,兼容DELPHI标准数据库控件
💻 PAS
📖 第 1 页 / 共 5 页
字号:
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 + -