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. 关于springMVC传参问题

    今天写项目,碰到一个以前灭有注意到的问题,一般情况下使用springMVC @Controller注解之后,被此注解标记的方法的参数名只需要跟页面表单的标签的name的值相同即可拿到页面的值,但是如果 ...

  2. call方法的使用bug--参数undefined

    call/apply是函数原型定义的方法(Function.prorotype),在使用时要注意第一个形参(args[0]),一定是指向函数所要挂载的上下文对象--context,若对象非必须,则要将 ...

  3. 用16G内存在Java

    用16G内存在Java Map中处理30亿对象 在一个下雨的夜晚,我在思考Java中内存管理的问题,以及Java集合对内存使用的效率情况.我做了一个简单的实验,测试在16G内存条件下,Java的Map ...

  4. CentOS 7 配置本地yum 源

    1. 加载 CentOS的ISO镜像并挂载: [root@localhost files]# mount /media/files/CentOS-7-x86_64-DVD-1611.iso /mnt/ ...

  5. [转载]iTOP-4418开发板Ubuntu系统烧写方法分享

    本文转自迅为论坛:http://topeetboard.com 开发平台:iTOP-4418开发板系统:Ubuntu 1. TF卡读写速度测试烧写 Ubuntu 对于 TF 卡的要求比较高,很多老旧的 ...

  6. jQuery 收缩展开效果

    <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Conten ...

  7. java的回调方式

    经常写js的回调,js的回调很简单,直接传方法名称,但是java中方法不能作为参数传递 但是java中可以传一个对象,在对象中编写多个方法,然后作为参数传递到对象里以后,就可以在适当的时机调用该对象里 ...

  8. CAD设置背景图片(com接口)

    把图片作为背景图片可见但是不能编辑操作. 主要用到函数说明: _DMxDrawX::DrawImageToBackground 绘光栅图到背景.详细说明如下: 参数 说明 BSTR sFileName ...

  9. faster rcnn一些博客

    这个是对faster 问题的一个总结 http://blog.csdn.net/u010402786/article/details/72675831?locationNum=11&fps=1 ...

  10. tomcat 去掉项目名后,还可以用项目名

    在server.xml添加以下代码: <Context path="/" docBase="../webapps/jeeplus/" reloadable ...