Winform开发框架 - 通用高级查询界面frmAdvancedSearch
Winform开发框架 - 通用高级查询界面frmAdvancedSearch
C/S架构快速开发平台提供高级查询功能 - 自定义查询条件搜索数据,Winform开发框架 - 通用高级查询界面frmAdvancedSearch,实现接口:ISupportAdvancedSearch
框架版本:CSFramework 旗舰版V5.1
ISupportAdvancedSearch接口
C# Code:
/// <summary>
/// 支持高级搜索功能
/// </summary>
public interface ISupportAdvancedSearch
{
/// <summary>
/// 高级查询条件类型
/// </summary>
AdvancedSearchResult ResultType { get; set; }
/// <summary>
/// 高级搜索的方法
/// </summary>
/// <param name="whereSQL">高级搜索组合的查询条件</param>
/// <returns>返回查询的对象</returns>
object AdvancedSearch(string whereSQL);
/// <summary>
/// 高级搜索的方法
/// </summary>
/// <param name="whereSQL">高级搜索组合的查询条件,如:where Code=@Code</param>
/// <param name="parameters">查询参数</param>
/// <returns></returns>
object AdvancedSearch(string whereSQL, DbParameterModel[] parameters);
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
/// 支持高级搜索功能
/// </summary>
public interface ISupportAdvancedSearch
{
/// <summary>
/// 高级查询条件类型
/// </summary>
AdvancedSearchResult ResultType { get; set; }
/// <summary>
/// 高级搜索的方法
/// </summary>
/// <param name="whereSQL">高级搜索组合的查询条件</param>
/// <returns>返回查询的对象</returns>
object AdvancedSearch(string whereSQL);
/// <summary>
/// 高级搜索的方法
/// </summary>
/// <param name="whereSQL">高级搜索组合的查询条件,如:where Code=@Code</param>
/// <param name="parameters">查询参数</param>
/// <returns></returns>
object AdvancedSearch(string whereSQL, DbParameterModel[] parameters);
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
DbParameterModel 类
C# Code:
public class DbParameterModel
{
/// <summary>
/// 自定义符号标识,用于替换为参数符号
/// </summary>
public const string ParamSymbol = "#P#";
/// <summary>
/// 参数名称,字段名称, 如:#P#Name
/// </summary>
public string ParamName { get; set; }
/// <summary>
/// 参数值,用户输入的值,如:小李
/// </summary>
public object ParamValue { get; set; }
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
{
/// <summary>
/// 自定义符号标识,用于替换为参数符号
/// </summary>
public const string ParamSymbol = "#P#";
/// <summary>
/// 参数名称,字段名称, 如:#P#Name
/// </summary>
public string ParamName { get; set; }
/// <summary>
/// 参数值,用户输入的值,如:小李
/// </summary>
public object ParamValue { get; set; }
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
AdvancedSearchResult 枚举
C# Code:
/// <summary>
/// 高级查询条件类型, 支持两种模式:SQL拼接, SQL参数
/// </summary>
public enum AdvancedSearchResult
{
/// <summary>
/// Where SQL语句
/// </summary>
WhereSQL,
/// <summary>
/// DB参数
/// </summary>
DbParamList,
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
/// 高级查询条件类型, 支持两种模式:SQL拼接, SQL参数
/// </summary>
public enum AdvancedSearchResult
{
/// <summary>
/// Where SQL语句
/// </summary>
WhereSQL,
/// <summary>
/// DB参数
/// </summary>
DbParamList,
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
CSFramework 旗舰版V5.1 系统操作日志功能演示


BLL层实现, bllLog.cs
*** 实现ISupportAdvancedSearch接口 ***
C# Code:
/// <summary>
/// 【系统操作日志】管理界面业务逻辑层, 支持高级查询
/// </summary>
public class bllLog : ISupportAdvancedSearch
{
//省略代码....
public AdvancedSearchResult ResultType { get; set; } = AdvancedSearchResult.DbParamList;
public object AdvancedSearch(string whereSQL)
{
return null;
}
public object AdvancedSearch(string whereSQL, DbParameterModel[] parameters)
{
if (BridgeFactory.IsADODirect)
return (_Log as dalLog).AdvancedSearch(whereSQL, parameters);
else
throw new Exception("此案例没实现WCF接口,请使用直连模式!");
}
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
/// 【系统操作日志】管理界面业务逻辑层, 支持高级查询
/// </summary>
public class bllLog : ISupportAdvancedSearch
{
//省略代码....
public AdvancedSearchResult ResultType { get; set; } = AdvancedSearchResult.DbParamList;
public object AdvancedSearch(string whereSQL)
{
return null;
}
public object AdvancedSearch(string whereSQL, DbParameterModel[] parameters)
{
if (BridgeFactory.IsADODirect)
return (_Log as dalLog).AdvancedSearch(whereSQL, parameters);
else
throw new Exception("此案例没实现WCF接口,请使用直连模式!");
}
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
DAL层实现, dalLog.cs
C# Code:
/// <summary>
/// 高级查询 - 查询条件参数化
/// </summary>
/// <param name="whereSQL"></param>
/// <param name="parameters"></param>
/// <returns></returns>
public object AdvancedSearch(string whereSQL, DbParameterModel[] parameters)
{
string sql = "SELECT * FROM sys_LogOperation WHERE 1=1 ";
CommandHelper cmd = _Database.CreateCommand("");
string p = _Database.ParamSymboName;//SQL参数符号
//有查询条件
if (!String.IsNullOrWhiteSpace(whereSQL))
{
//替换参数符号
whereSQL = whereSQL.Replace(DbParameterModel.ParamSymbol, p);
sql = sql + " AND " + whereSQL;
if (parameters != null)
{
foreach (DbParameterModel m in parameters)
{
//替换参数符号
cmd.AddParam(m.ParamName.Replace(DbParameterModel.ParamSymbol, p), m.ParamValue);
}
}
}
//返回DataTable
cmd.Command.CommandText = CodeSafeHelper.GetSafeSQL(sql);
return _Database.GetTable(cmd.Command, sys_LogOperation.__TableName);
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
/// 高级查询 - 查询条件参数化
/// </summary>
/// <param name="whereSQL"></param>
/// <param name="parameters"></param>
/// <returns></returns>
public object AdvancedSearch(string whereSQL, DbParameterModel[] parameters)
{
string sql = "SELECT * FROM sys_LogOperation WHERE 1=1 ";
CommandHelper cmd = _Database.CreateCommand("");
string p = _Database.ParamSymboName;//SQL参数符号
//有查询条件
if (!String.IsNullOrWhiteSpace(whereSQL))
{
//替换参数符号
whereSQL = whereSQL.Replace(DbParameterModel.ParamSymbol, p);
sql = sql + " AND " + whereSQL;
if (parameters != null)
{
foreach (DbParameterModel m in parameters)
{
//替换参数符号
cmd.AddParam(m.ParamName.Replace(DbParameterModel.ParamSymbol, p), m.ParamValue);
}
}
}
//返回DataTable
cmd.Command.CommandText = CodeSafeHelper.GetSafeSQL(sql);
return _Database.GetTable(cmd.Command, sys_LogOperation.__TableName);
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761

参考文档:
C/S软件授权注册系统V3.0(Winform+WebApi+.NET8+EFCore版本)|C/S开发框架
C# Winform等待窗体WaitingForm组件下载(CSFramework提供)|C/S开发框架
企业级C/S系统快速开发框架(Winform+.NET8+EFCore)|C/S开发框架
最新MES系统快速开发平台(Winform+NET8+EFCore)|C/S开发框架
Winform软件开发框架|快速开发平台推荐|C/S开发框架
Winform开发框架 | 表格编辑窗体权限控制|C/S开发框架
DevExpress组件版本下载、安装与VS开发环境 | Winform C/S框架|C/S开发框架
WinFormsApp窗体应用快速开发框架(.NET7+EFCore+VS2022)
Winform C/S架构自动升级程序 AutoUpgraderV1.2迭代记录|C/S开发框架
C/S Winform框架开发指南 | 如何新增系统消息参数(sys_SystemSettings表)|C/S开发框架
C/S Winform开发框架 | 单表基础资料窗体实现主从表资料管理|C/S开发框架
PLC,上位机软件快速开发框架(VS2022+C#+Winform)
Winform开发框架 - 使用Linq判断日期时间范围查询条件的方法
CSFrameworkV6 - Winform开发框架 - Delete方法使用
CSFrameworkV6 - Winform开发框架 - GetLookupData方法使用
Winform框架通用导入程序,支持Excel,xls/xlsx格式|C/S开发框架
C/S软件授权注册系统V3.0(Winform+WebApi+.NET8+EFCore版本)|C/S开发框架
C# Winform等待窗体WaitingForm组件下载(CSFramework提供)|C/S开发框架
企业级C/S系统快速开发框架(Winform+.NET8+EFCore)|C/S开发框架
最新MES系统快速开发平台(Winform+NET8+EFCore)|C/S开发框架
Winform软件开发框架|快速开发平台推荐|C/S开发框架
Winform开发框架 | 表格编辑窗体权限控制|C/S开发框架
DevExpress组件版本下载、安装与VS开发环境 | Winform C/S框架|C/S开发框架
WinFormsApp窗体应用快速开发框架(.NET7+EFCore+VS2022)
Winform C/S架构自动升级程序 AutoUpgraderV1.2迭代记录|C/S开发框架
C/S Winform框架开发指南 | 如何新增系统消息参数(sys_SystemSettings表)|C/S开发框架
C/S Winform开发框架 | 单表基础资料窗体实现主从表资料管理|C/S开发框架
PLC,上位机软件快速开发框架(VS2022+C#+Winform)
Winform开发框架 - 使用Linq判断日期时间范围查询条件的方法
CSFrameworkV6 - Winform开发框架 - Delete方法使用
CSFrameworkV6 - Winform开发框架 - GetLookupData方法使用
Winform框架通用导入程序,支持Excel,xls/xlsx格式|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
