unit MyClass;
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  VCLCom, StdVcl, DBClient,Grids, DBGrids,ComCtrls, DB, ADODB, Provider;
type
   TMyDataClass = class
  private
    FAdoConn : TADoConnection; //Ado数据连接
    aqTmp: TADoQuery;
    acmd: TAdoCommand;
    aspTmp: TADOStoredProc;
  public
    function OpenQuery(Sqlstr:string):boolean; overload;//传入sql打开数据
    function OpenQuery(Query:TAdoQuery;Sqlstr:string):boolean; overload;//传入sql打开数据
    function OpenDataSetByPara(InPara:variant;adsTmp:TadoDataSet):boolean;overload;//传入参数,打开一个dataset
    function OpenDataSet(DataSet:TADoDataSet;Sqlstr:string):boolean;
 
    function IsExists(Sqlstr:string):boolean;//传入sql查询是否记录存在,true存在
    function Get_Sql_Value(sqlstr:string):variant;//输入sql,返回一个字段数值
 
    function ExecSql(Sqlstr:string):boolean;overload; //执行一段sql命令
    function ExecSql(Sqlstr:string;pTrans:boolean):boolean;overload; //执行一段sql命令
 
    //执行存储过程
    function ExecProc(ProcName: string; var ParamStrs: array of variant;
      Direction: array of TParameterDirection): boolean;overload;
    function ExecProc(ADOStoredProc: TADOStoredProc ;ProcName: string; var ParamStrs: array of variant;
      Direction: array of TParameterDirection;ExecType:byte): boolean;overload;
 
    //数据更新函数,pTrans:事务处理,返回值:true成功,false失败
    function SaveData(ads_Tmp: array of TADODataSet;pTrans:Boolean):boolean;overload;
    function UpdateValueToField(pDataSet:TDataSet;value:variant;FieldName:string):boolean;//更新数据表某个字段数值
    function ChangeFieldValue(pDataSet:TDataSet;Oldvalue,NewValue:variant;FieldName:string):boolean;//更新数据表某个字段数值
 
    //删除指定的记录,返回值:FieldName字段,fieldValue:指定的记录数值
    function DeleteRecord(ads_Tmp: TADODataSet;FieldName:string;FieldValue:variant):boolean;overload;
    procedure DeleteTable(DataSet:TDataSet);//删除数据表所有记录
    function Check_Unique_Field_Value(sqlstr:string):boolean;//验证字段数值是否唯一
    procedure Set_Filter(str_filter:string;DataSEt:TDATASET);//设置过滤
 
    Constructor Create(AdoConn: TAdoConnection);
    Destructor Destroy;override;
  end;
var
     MyDataClass: TMyDataClass;
implementation
...
------------{实现}
Constructor TMyDataClass.Create(AdoConn: TAdoConnection);
begin
  FAdoConn := AdoConn;
  aqTmp := TADoQuery.Create(nil);
  aqTmp.Connection :=FAdoConn;
 
  acmd := TAdoCommand.Create(nil);
  acmd.Connection := FAdoConn;
 
  aspTmp := TADOStoredProc.Create(nil);
  aspTmp.Connection :=FAdoConn;
end;
Destructor TMyDataClass.Destroy;
begin
  inherited;
 
end;
...
------------{调用}
var MyDataClass: TMyDataClass;
 
MyDataClass :=TMyDataClass.Create(dm.ADOConnection1);

Delphi简单的数据操作类的更多相关文章

  1. 我的DbHelper数据操作类

    其实,微软的企业库中有一个非常不错的数据操作类了.但是,不少公司(起码我遇到的几个...),对一些"封装"了些什么的东西不太敢用,虽然我推荐过微软的企业库框架了...但是还是要&q ...

  2. DbHelper数据操作类

    摘要:本文介绍一下DbHelper数据操作类 微软的企业库中有一个非常不错的数据操作类.但是,不少公司(起码我遇到的几个...),对一些"封装"了些什么的东西不太敢用,虽然我推荐过 ...

  3. 我的DbHelper数据操作类(转)

    其实,微软的企业库中有一个非常不错的数据操作类了.但是,不少公司(起码我遇到的几个...),对一些"封装"了些什么的东西不太敢用,虽然我推荐过微软的企业库框架了...但是还是要&q ...

  4. Redis简单的数据操作(增删改查)

    #Redis简单的数据操作(增删改查): 字符串类型 string 1. 存储: set key value 127.0.0.1:6379> set username zhangsan OK 2 ...

  5. 基于 Aspose.Cells与XML导入excel 数据----操作类封装

    前言 导入excel数据, 在每个项目中基本上都会遇到,第三方插件或者基于微软office,用的最多的就是npoi,aspose.cells和c#基于office这三种方式,其中各有各的优缺点,在这也 ...

  6. 简单的XML操作类

    /// <summary> /// XmlHelper 的摘要说明. /// xml操作类 /// </summary> public class XmlHelper { pr ...

  7. java学习笔记——大数据操作类

    java.math包中提供了两个大数字操作类:BigInteger(大整数操作类) BigDecimal(大小数操作类). 大整数操作类:BigInteger BigInteger类构造方法:publ ...

  8. 百度地图LBS云平台读写数据操作类

    最近写了个叫<行踪记录仪>的手机软件,用了百度云来记录每个用户的最近位置,以便各用户能在地图上找到附近的人,为此写了个类来读写数据,大致如下: import java.util.Array ...

  9. 通过一个简单的数据库操作类了解PHP链式操作的实现

    class Model{ public $table; //操作的表; private $opt; //查询的参数; private $pri; //表的主键; private $lastSql; / ...

随机推荐

  1. web api 解决Ajax请求跨域问题

    前端ajax请求接口时,经常出现跨域问题,当然了解决方法有很多种,比如: http://www.jb51.net/article/68424.htm 我本人恰好前后端都会一点,所以直接在接口端处理. ...

  2. Spring注解驱动开发之Ioc容器篇

    前言:现今SpringBoot.SpringCloud技术非常火热,作为Spring之上的框架,他们大量使用到了Spring的一些底层注解.原理,比如@Conditional.@Import.@Ena ...

  3. SpringBoot 2.x (4):配置文件与单元测试

    SpringBoot的配置文件有默认的application.properties 还可以使用YAML 区别: application.properties示例: server.port=8090 s ...

  4. SpringMVC -- 必知必会

    SpringMVC基于模型--视图--控制器(Model-View-Controller,MVC)模式实现,属于SpringFrameWork的后续产品,已经融合在SpringWebFlow里面.它通 ...

  5. 掌握Spark机器学习库-07-回归算法原理

    1)机器学习模型理解 统计学习,神经网络 2)预测结果的衡量 代价函数(cost function).损失函数(loss function) 3)线性回归是监督学习

  6. 11 Hash tables

    11 Hash tables    Many applications require a dynamic set that supports only the dictionary operatio ...

  7. dll、lib(动态链接库、静态链接库)的区别

    1.dll:dynamic link library: lib:static link library. 2.windows系统中,许多app并不是仅由一个完整的exe构成,而是按功能分成了若干部分, ...

  8. 【VBA研究】如何用Base64 编解码方法实现简单的加解密

    Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码,将数据变成字符串实现文本传输.由于编码简单,所以很容易实现,代码也是现成的.利用这个编码规则可以实现简单的加解密.编解码方 ...

  9. 原生 js 整理

    常见的事件 window.event     代表着,事件的状态,只有在事件的过程中才有效.

  10. idea 中pom.xml依赖版本号报错(报红,如下图所示)

    1.maven工程中出现的错误 2.解决办法:file->setting->Maven 如果还没好的话请尝试以下方法: