网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Delphi
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.MapX使用数据库数据添加专题图(系.
.NeHe的opengl教程delphi版(9)---.
.Delphi中使用OLE方法操作Excel.
.Delphi数据压缩处理(1).
.[Tips]设置双击时间.
.Delphi字符串函数大全.
.FastReport问题集.
.在Delphi里播放Flash.
.检测Delphi是否正在运行.
.Delphi编译错误中文手册.
.Delphi图象截取编程示例(4).
.怎样通过编程方式管理nt的用户及.
.在网络上进行摄像头视频通讯.
.Delphi中的线程类--之(4).
.类似网络蚂蚁的悬浮窗体.
.用Delphi实现BP机、手机短讯.
.类似Access查找中的记忆功能.
.泛型编程在非C++语言中的实现之探.
.技术人员的市场意识与市场人员的.
.再谈多态--多态的应用举例:.

通用查询组件设计(续四)

发表日期:2006-2-4


通用查询组件设计

作者:nxyc_twz@163.com

  前段时间由于工作较忙,无暇整理本组件的相关文档,请大家谅解!以后我会陆续整理公布该组件的所有相关文档及源码!

设置字段变量

procedure TMyFieldInfo.SetVariables(d: TDataset);

var

  value : String;

begin

//设置变量值

  if AnsiUpperCase(FilterValue) = 'NULL' then

    exit;

  if FieldType = ftString then

  begin

    if CaseSensitive then

      case MatchType of

        fdMatchStart, fdMatchAny :

          value := FilterValue;

        fdMatchEnd :

          value := '%' + FilterValue;

        fdMatchExact :

          value := FilterValue;

      end

    else

      case MatchType of

        fdMatchStart, fdMatchAny :

          value := AnsiUpperCase(FilterValue);

        fdMatchEnd :

          value := '%' + AnsiUpperCase(FilterValue);

        fdMatchExact :

          value := AnsiUpperCase(FilterValue);

      end;

  end

  else

    value := FilterValue;

  if d is TDataSet then

  begin

    if MatchType <> fdMatchRange then

      TQuery(d).ParamByName(FieldName + 'Filter').Value :=  value

    else

    begin

      if CaseSensitive then

      begin

        if StartingValue <> '' then

          TQuery(d).ParamByName(FieldName + 'Start').Value := StartingValue;

        if EndingValue <> '' then

          TQuery(d).ParamByName(FieldName + 'End').Value := EndingValue;

      end

      else

      begin

        if StartingValue <> '' then

          TQuery(d).ParamByName(FieldName + 'Start').Value := AnsiUpperCase(StartingValue);

        if EndingValue <> '' then

          TQuery(d).ParamByName(FieldName + 'End').Value := AnsiUpperCase(EndingValue);

      end;

    end;

  end

  else

  begin

    if MatchType <> fdMatchRange then

      TQuery(d).ParamByName(FieldName + 'Filter').Value :=  value

    else

    begin

      if CaseSensitive then

      begin

        if StartingValue <> '' then

          TQuery(d).ParamByName(FieldName + 'Start').Value := StartingValue;

        if EndingValue <> '' then

          TQuery(d).ParamByName(FieldName + 'End').Value := EndingValue;

      end

      else

      begin

        if StartingValue <> '' then

          TQuery(d).ParamByName(FieldName + 'Start').Value := AnsiUpperCase(StartingValue);

        if EndingValue <> '' then

          TQuery(d).ParamByName(FieldName + 'End').Value := AnsiUpperCase(EndingValue);  

      end;

    end;

  end

end;

 

定义参数变量类

TDBVariable = class  //参数数据变量

  public

    VariableName : String;  //变量名 

    VariableValue : Variant;  //变量值

    constructor Create(name : String; value : Variant); //构造函数

  end;

 

上一篇:通用查询组件设计(续三) 人气:4287
下一篇:在Delphi7中实现停靠功能 人气:3831
浏览全部Delphi的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐