通用查询组件设计(续四)
2004-04-13 14:08
441 查看
通用查询组件设计
作者: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;
作者: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;
相关文章推荐
- 通用查询组件设计(续二)
- 通用查询组件设计
- 通用查询组件设计(续二)
- 通用查询组件设计(续)
- 通用查询组件设计(续三)
- 通用查询组件设计
- 通用查询组件设计
- DbHelperV2 - Teddy的通用数据库访问组件设计和思考
- (原创)通用查询实现方案(可用于DDD)[附源码] -- 设计思路
- 通用 Java 文件上传和下载组件的设计与实现
- 通用查询引擎Restful service设计(目前支持hive,shark)
- 基于数据字典的通用查询系统(四)实体类的设计 1
- DbHelperV2 - Teddy的通用数据库访问组件设计和思考
- 通用 Java 文件上传和下载组件的设计与实现
- 通用 Java 文件上传和下载组件的设计与实现
- 通用 Java 文件上传和下载组件的设计与实现
- C# ASP.NET 权限设计 完全支持多数据库多语言包的通用权限管理系统组件源码
- 通用异步 Windows Socket TCP 客户端组件的设计与实现
- DAO组件通用设计方法
- android 应用组件[通用 Intent---基于搜索查询播放音乐] 十六