当前位置: 首页 > java >正文

【Delphi】简化数据库读写(Helper)

{*****************************************************************
作者:sensor   2025-04-29
功能:
  对于FDQuery操作字段按照 简写的格式

  使用方法:
      原来:
        S := FDQuery.FieldByname('name').asString;
        I := FDQuery.FieldByname('age').asInteger;
        D := FDQuery.FieldByname('birthday').asDatetime;

      现在:
        S := FDQuery.S['name'];
        I := FDQuery.I['age'];
        D := FDQuery.D['birthday'];

   需要引用这个单元,类似的都可以扩充

******************************************************************}

自己可以根据情况扩展!

{*****************************************************************
作者:sensor   2025-04-29
功能:对于FDQuery操作字段按照 简写的格式使用方法:原来:S := FDQuery.FieldByname('name').asString;I := FDQuery.FieldByname('age').asInteger;D := FDQuery.FieldByname('birthday').asDatetime;现在:S := FDQuery.S['name'];I := FDQuery.I['age'];D := FDQuery.D['birthday'];需要引用这个单元,类似的都可以扩充******************************************************************}unit uTFDQuery_Helper;interface
usesFireDAC.Comp.Client;typeTFDQueryHelper = class helper for TFDQueryfunction  GetAsString(FieldName: string): string;procedure SetAsString(FieldName: string; const Value: string);function  GetAsInteger(FieldName: string): Integer;procedure SetAsInteger(FieldName: string; const Value: Integer);function  GetAsInt64(FieldName: string): Int64;procedure SetAsInt64(FieldName: string; const Value: Int64);function  GetAsFloat(FieldName: string): Float32;procedure SetAsFloat(FieldName: string; const Value: Float32);function  GetAsBoolean(FieldName: string): Boolean;procedure SetAsBoolean(FieldName: string; const Value: Boolean);function  GetAsDateTime(FieldName: string): TDateTime;procedure SetAsDateTime(FieldName: string; const Value: TDateTime);function  GetAsCurrency(FieldName: string): Double;procedure SetAsCurrency(FieldName: string; const Value: Double);function  GetAsVariant(FieldName: string): Variant;procedure SetAsVariant(FieldName: string; const Value: Variant);public//定义字段读取函数property S[FieldName    : string] : string      read GetAsString    write SetAsString;property I[FieldName    : string] : integer     read GetAsInteger   write SetAsInteger;property I64[FieldName  : string] : Int64       read GetAsInt64     write SetAsInt64;property F[FieldName    : string] : Float32     read GetAsFloat     write SetAsFloat;property B[FieldName    : string] : Boolean     read GetAsBoolean   write SetAsBoolean;property D[FieldName    : string] : TDateTime   read GetAsDateTime  write SetAsDateTime;property C[FieldName    : string] : Double      read GetAsCurrency  write SetAsCurrency;property V[FieldName    : string] : Variant     read GetAsVariant   write SetAsVariant;end;implementation{ TFDQueryHelper }function TFDQueryHelper.GetAsBoolean(FieldName: string): Boolean;
beginResult := Self.FieldByName(FieldName).AsBoolean;
end;function TFDQueryHelper.GetAsCurrency(FieldName: string): Double;
beginResult := Self.FieldByName(FieldName).AsCurrency;
end;function TFDQueryHelper.GetAsDateTime(FieldName: string): TDateTime;
beginResult := Self.FieldByName(FieldName).AsDateTime;
end;function TFDQueryHelper.GetAsFloat(FieldName: string): Float32;
beginResult := Self.FieldByName(FieldName).AsFloat;
end;function TFDQueryHelper.GetAsInt64(FieldName: string): Int64;
beginResult := Self.FieldByName(FieldName).AsLargeInt;
end;function TFDQueryHelper.GetAsInteger(FieldName: string): Integer;
beginResult := Self.FieldByName(FieldName).AsInteger;
end;function TFDQueryHelper.GetAsString(FieldName: string): string;
beginResult := Self.FieldByName(FieldName).AsString;
end;function TFDQueryHelper.GetAsVariant(FieldName: string): Variant;
beginResult := Self.FieldByName(FieldName).AsVariant;
end;procedure TFDQueryHelper.SetAsBoolean(FieldName: string; const Value: Boolean);
beginSelf.FieldByName(FieldName).AsBoolean := Value;
end;procedure TFDQueryHelper.SetAsCurrency(FieldName: string; const Value: Double);
beginSelf.FieldByName(FieldName).AsCurrency := Value;
end;procedure TFDQueryHelper.SetAsDateTime(FieldName: string;const Value: TDateTime);
beginSelf.FieldByName(FieldName).AsDateTime := Value;
end;procedure TFDQueryHelper.SetAsFloat(FieldName: string; const Value: Float32);
beginSelf.FieldByName(FieldName).AsFloat := Value;
end;procedure TFDQueryHelper.SetAsInt64(FieldName: string; const Value: Int64);
beginSelf.FieldByName(FieldName).AsLargeInt := Value;
end;procedure TFDQueryHelper.SetAsInteger(FieldName: string; const Value: Integer);
beginSelf.FieldByName(FieldName).AsInteger := Value;
end;procedure TFDQueryHelper.SetAsString(FieldName: string; const Value: string);
beginSelf.FieldByName(FieldName).AsString := Value;
end;procedure TFDQueryHelper.SetAsVariant(FieldName: string; const Value: Variant);
beginSelf.FieldByName(FieldName).AsVariant := Value;
end;end.

谁用谁知道!

http://www.xdnf.cn/news/2989.html

相关文章:

  • Canvas基础篇:绘制矩形
  • 废品回收小程序:全链路数字化解决方案,赋能绿色未来
  • SDC命令详解:使用get_nets命令进行查询
  • windows如何使用cmd命令翻转屏幕
  • 多源数据整合与数据虚拟化:构建灵活、高效的数据架构
  • RPG2.设置角色摄像机
  • js day9
  • 按键精灵安卓ios辅助工具脚本:实用的文件插件(lua开源)
  • 解决ktransformers v0.3 docker镜像中 operator torchvision::nms does not exist 问题
  • Redis入门到实战——基础篇
  • JavaSE第12篇:接口interface
  • Shopify网上商店GraphQL Admin接口查询实战
  • keep-alive具体使用方法
  • 我心中的现代前端大厦
  • LabVIEW模板之温度监测应用
  • dx11 龙宝书 第五 六章 流水线
  • leetcode 2962. 统计最大元素出现至少 K 次的子数组 中等
  • 规范编码策略以及AST的应用的学习
  • 如何使用 Nacos 对 Python 服务进行服务发现与注册
  • 【Dify系列教程重置精品版】第三章:Dify平台的本地化部署
  • Idea 如何配合 grep console过滤并分析文件
  • 关于浏览器对于HTML实体编码,urlencode,Unicode解析
  • Janus-1B评测
  • vue 优化策略,大白话版本
  • 一页概览:统一数据保护方案
  • Discord多账号注册登录:如何同时管理多个账户?
  • 全球667629个流域90m分辨率数据(流域参数含:面积、长度、宽度、纵横比、坡度和高程等)
  • 借助Spring AI实现智能体代理模式:从理论到实践
  • 案例解析:基于量子计算的分子对接-QDOCK(Quantum Docking)
  • 2025年深圳软件开发公司推荐