C#个人重构之组合查询
来源:互联网 发布:手机分享电脑网络 编辑:程序博客网 时间:2024/04/26 08:47
【人参果】
技术点:
1、模板模式
2、存储过程
3、控件之间的逻辑
【山巅远眺】
学习思路:
1、设置父窗体,想象什么写在父窗体上,什么写在子窗体上。
【披荆斩棘】
父窗体控件
代码:
#region 全局的变量,整个系统都可以用 public string filed1 = ""; public string filed2 = ""; public string filed3 = ""; public string sombol1 = ""; public string sombol2 = ""; public string sombol3 = ""; public string txt1 = ""; public string txt2 = ""; public string txt3 = ""; public string D1 = ""; public string D2 = ""; #endregion父窗体加载过程中:默认控件的属性
private void UIFormClass_Load(object sender, EventArgs e) { #region 下拉菜单显示(操作符) cmbOperatorSymbol1.Items.Add(">"); cmbOperatorSymbol1.Items.Add("<"); cmbOperatorSymbol1.Items.Add("="); cmbOperatorSymbol1.Items.Add("<>"); cmbOperatorSymbol2.Items.Add(">"); cmbOperatorSymbol2.Items.Add("<"); cmbOperatorSymbol2.Items.Add("="); cmbOperatorSymbol2.Items.Add("<>"); cmbOperatorSymbol3.Items.Add(">"); cmbOperatorSymbol3.Items.Add("<"); cmbOperatorSymbol3.Items.Add("="); cmbOperatorSymbol3.Items.Add("<>"); #endregion #region 下拉菜单显示(组合关系) cmbSyntheticRelation1.Items.Add(""); cmbSyntheticRelation1.Items.Add("与"); cmbSyntheticRelation1.Items.Add("或"); cmbSyntheticRelation2.Items.Add(""); cmbSyntheticRelation2.Items.Add("与"); cmbSyntheticRelation2.Items.Add("或"); #endregion #region 窗体加载后,默认后两组窗体不可用 cmbFiled2.Enabled = false; cmbFiled3.Enabled = false; cmbOperatorSymbol2.Enabled = false; cmbOperatorSymbol3.Enabled = false; cmbSyntheticRelation2.Enabled = false; txtQueryCondition2.Enabled = false; txtQueryCondition3.Enabled = false; #endregion #region MyRegion dateTimePicker1.Visible = false; dateTimePicker2.Visible = false; dateTimePicker3.Visible = false; dateTimePicker1.Enabled = false; dateTimePicker2.Enabled = false; dateTimePicker3.Enabled = false; #endregion第一个与或关系控制:
private void cmbSyntheticRelation1_SelectedIndexChanged(object sender, EventArgs e) { if (cmbSyntheticRelation1.Text=="") { cmbFiled2.Text = ""; cmbFiled2.Enabled = false; cmbOperatorSymbol2.Text = ""; cmbOperatorSymbol2.Enabled = false; txtQueryCondition2.Text = ""; txtQueryCondition2.Visible = true; txtQueryCondition2.Enabled = false; cmbSyntheticRelation2.Text = ""; cmbSyntheticRelation2.Enabled = false; dateTimePicker2.Visible = false; dateTimePicker2.Enabled = false; cmbFiled3.Text = ""; cmbFiled3.Enabled = false; cmbOperatorSymbol3.Text = ""; cmbOperatorSymbol3.Enabled = false; txtQueryCondition3.Text = ""; txtQueryCondition3.Visible = true; txtQueryCondition3.Enabled = false; dateTimePicker3.Visible = false; dateTimePicker3.Enabled = false; } else { cmbFiled2.Enabled = true; cmbOperatorSymbol2.Enabled = true; txtQueryCondition2.Enabled = true; cmbSyntheticRelation2.Enabled = true; if (cmbFiled2.Text == "上线日期:" || cmbFiled2.Text == "下线日期:") { txtQueryCondition2.Visible = false; txtQueryCondition2.Enabled = false; dateTimePicker2.Visible = true; dateTimePicker2.Enabled = true; return; } if (cmbFiled3.Text == "上线日期:" || cmbFiled3.Text == "下线日期:") { txtQueryCondition3.Visible = false; txtQueryCondition3.Enabled = false; dateTimePicker3.Visible = true; dateTimePicker3.Enabled = false; return; } } }
第二个与或关系控制:
private void cmbSyntheticRelation2_SelectedIndexChanged(object sender, EventArgs e) { if (cmbSyntheticRelation2.Text == "") { cmbFiled3.Text = ""; cmbFiled3.Enabled = false; cmbOperatorSymbol3.Text = ""; cmbOperatorSymbol3.Enabled = false; txtQueryCondition3.Text = ""; txtQueryCondition3.Visible = true; txtQueryCondition3.Enabled = false; dateTimePicker3.Visible = false; dateTimePicker3.Enabled = false; } else { cmbFiled3.Enabled = true; cmbOperatorSymbol3.Enabled = true; if (cmbFiled3.Text == "上线日期:" || cmbFiled3.Text == "下线日期:") { txtQueryCondition3.Enabled = false; dateTimePicker3.Visible = true; dateTimePicker3.Enabled = true; } else { txtQueryCondition3.Enabled = true; dateTimePicker3.Visible = false; dateTimePicker3.Enabled = false; } } }条件选择控制(一共三个,代码一样):
private void cmbFiled1_SelectedIndexChanged(object sender, EventArgs e) { if (cmbFiled1.Text == "上线日期:" || cmbFiled1.Text == "下线日期:") { dateTimePicker1.Visible = true; dateTimePicker1.Enabled = true; txtQueryCondition1.Visible = false; txtQueryCondition1.Enabled = false; cmbOperatorSymbol1.Items.Clear(); cmbOperatorSymbol1.Items.Add(">"); cmbOperatorSymbol1.Items.Add("<"); cmbOperatorSymbol1.Items.Add("="); cmbOperatorSymbol1.Items.Add("<>"); } else { cmbOperatorSymbol1.Items.Clear(); cmbOperatorSymbol1.Items.Add("="); cmbOperatorSymbol1.Items.Add("<>"); txtQueryCondition1.Visible = true; txtQueryCondition1.Enabled = true; dateTimePicker1.Visible = false; dateTimePicker1.Enabled = false; } }子窗体:获取值,赋值给实体,传给B层
#region 给实体赋值 Entity.EntityAll EntityAll = new Entity.EntityAll(); EntityAll.Filed1 = filed1; EntityAll.Filed2 = filed2; EntityAll.Filed3 = filed3; EntityAll.OperatorSymbol1 = sombol1; EntityAll.OperatorSymbol2 = sombol2; EntityAll.OperatorSymbol3 = sombol3; EntityAll.QueryCondition1 = txt1; EntityAll.QueryCondition2 = txt2; EntityAll.QueryCondition3 = txt3; EntityAll.SyntheticRelation1 = D1; EntityAll.SyntheticRelation2 = D2; EntityAll.TableName = "LineRecord_Info"; #endregion #region 去B层一直往下走,返回信息 Facade.QueryFacade facadeCombinationQuery = new Facade.QueryFacade(); DataTable result = facadeCombinationQuery.combinationQuery(EntityAll); CP ct = new CP(); List<Entity.LineRecordInfo> List = new List<Entity.LineRecordInfo>(); List = ct.convertToList<Entity.LineRecordInfo>(result); dataGridView1.DataSource = List; #endregionD层:
#region 组合查询 public DataTable combinationQuery(Entity.EntityAll EntityAll) { SqlHelper.SqlHelperAll sqlHelerCombinationQuery = new SqlHelper.SqlHelperAll(); string sql = "EntityAll_Info"; SqlParameter[] sqlParams = { new SqlParameter("@Filed1",EntityAll.Filed1), new SqlParameter("@Filed2",EntityAll.Filed2), new SqlParameter("@Filed3",EntityAll.Filed3), new SqlParameter("@OperatorSymbol1",EntityAll.OperatorSymbol1), new SqlParameter("@OperatorSymbol2",EntityAll.OperatorSymbol2), new SqlParameter("@OperatorSymbol3",EntityAll.OperatorSymbol3), new SqlParameter("@QueryCondition1",EntityAll.QueryCondition1), new SqlParameter("@QueryCondition2",EntityAll.QueryCondition2), new SqlParameter("@QueryCondition3",EntityAll.QueryCondition3), new SqlParameter("@SyntheticRelation1",EntityAll.SyntheticRelation1), new SqlParameter("@SyntheticRelation2",EntityAll.SyntheticRelation2), new SqlParameter("@TableName",EntityAll.TableName), }; DataTable result = sqlHelerCombinationQuery.ExecuteNomQuery(sql,CommandType.StoredProcedure,sqlParams); return result; } #endregion
【仙人指路】
太上老君:鸡蛋清不愧是三清之首,帮我调出了存储过程中的空格。
原始天尊:大家的博客,思路很多!
通天教主:世代庄少主的不懈努力!
【筋斗云】
阅读全文
0 0
- C#个人重构之组合查询
- C#个人重构之简单查询
- C#个人重构之按照日期查询
- 个人机房重构——组合查询及优化
- 【机房个人重构】组合查询--模板方法
- 机房重构之组合查询
- 机房重构之组合查询
- 机房重构之组合查询
- 机房重构之组合查询
- 【机房重构】之组合查询
- 机房重构之组合查询
- C#个人重构之登录
- C#个人重构之修改密码
- C#个人重构之充值
- C#个人重构之退出事件
- 重构机房组合查询之学生基本信息查询
- 重构之路 组合查询之传递SQL字符串
- 重构—组合查询
- 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-高年级组)B题幸运大奖
- Gitbook 一键部署至 GitHub Pages
- 技术笔记——Django+Nginx+uwsgi搭建自己的博客(三)
- 集合框架程序排序
- AngularJS 添加 查询 排序 删除 数据 敏感词
- C#个人重构之组合查询
- java多线程
- mysql命令行导入txt数据
- LWC 62:742. Closest Leaf in a Binary Tree
- TLD视觉跟踪
- 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-高年级组)A_所有情况的和
- 「Python」os.walk
- Node.js入门(一)——调用函数方式小结
- 安装docker