当前位置: 首页 > news >正文

建设银行辽宁招聘网站wordpress 评论插件下载

建设银行辽宁招聘网站,wordpress 评论插件下载,哈尔滨网站优化指导,扬州网站建设哪家好导读#xff1a;在机房重构中#xff0c;有好些个查询都是大同小异#xff0c;最为显著的就是组合查询了。怎样给自己省事儿#xff0c;相同的东西能不能重复利用#xff0c;就成了一个现实的问题。第一遍做机房的时候#xff0c;使用的更多的是#xff1a;复制粘贴。学… 导读在机房重构中有好些个查询都是大同小异最为显著的就是组合查询了。怎样给自己省事儿相同的东西能不能重复利用就成了一个现实的问题。第一遍做机房的时候使用的更多的是复制粘贴。学习了设计模式后可以用模板方法解决。这篇文章就通过窗体继承和模板方法实现组合查询。 观点组合查询在机房中有3中情况其实组合查询完全可以看到是一种查询情况。 一、窗体继承的使用 1首先建立一个父窗体2添加一个新项3选择继承窗体4确定后一个新的继承窗体就好了。 二、模板方法的使用 备注定义一个组合查询的实体方便传参 1首先在U层写入基础方法和传参 span stylefont-size:18px;Public Class FrmGroupQueryPublic enGroupQuery As New Model.GroupQueryM 定义一个实体参数Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles btnQuery.Click第一行组合关系为空If cmbRelation1.Text Then判断第一行控件内容是否为空If cmbField1.Text ThenMsgBox(请输入字段名)ElseIf cmbOperation1.Text ThenMsgBox(请输入操作符)ElseIf txtContent1.Text ThenMsgBox(请输入要查询的内容)End IfEnd If 当第一个组合关系不为空时 If cmbRelation1.Text ThenIf cmbField1.Text ThenMsgBox(请输入字段名)ElseIf cmbOperation1.Text ThenMsgBox(请输入操作符)ElseIf txtContent1.Text ThenMsgBox(请输入要查询的内容)ElseIf cmbField2.Text ThenMsgBox(请输入字段名)ElseIf cmbOperation2.Text ThenMsgBox(请输入操作符)ElseIf txtContent2.Text ThenMsgBox(请输入要查询的内容)End IfEnd If 当第二个组合关系不为空时 If cmbRelation2.Text ThenIf cmbField1.Text ThenMsgBox(请输入字段名)ElseIf cmbOperation1.Text ThenMsgBox(请输入操作符)ElseIf txtContent1.Text ThenMsgBox(请输入要查询的内容)ElseIf cmbField2.Text ThenMsgBox(请输入字段名)ElseIf cmbOperation2.Text ThenMsgBox(请输入操作符)ElseIf txtContent2.Text ThenMsgBox(请输入要查询的内容)ElseIf cmbField3.Text ThenMsgBox(请输入字段名)ElseIf cmbOperation3.Text ThenMsgBox(请输入操作符)ElseIf txtContent3.Text ThenMsgBox(请输入要查询的内容)End IfEnd If给实体层传参Dim enGroupQuery As New Model.GroupQueryMenGroupQuery._field1 GetDBName(cmbField1.Text.Trim())enGroupQuery._field2 GetDBName(cmbField2.Text.Trim())enGroupQuery._field3 GetDBName(cmbField3.Text.Trim())enGroupQuery._operate1 cmbOperation1.Text.Trim()enGroupQuery._operate2 cmbOperation2.Text.Trim()enGroupQuery._operate3 cmbOperation3.Text.Trim()enGroupQuery._content1 txtContent1.Text.Trim()enGroupQuery._content2 txtContent2.Text.Trim()enGroupQuery._content3 txtContent3.Text.Trim()enGroupQuery._relation1 GetDBName(cmbRelation1.Text.Trim())enGroupQuery._relation2 GetDBName(cmbRelation2.Text.Trim())enGroupQuery.GetTable GetTable() 通过函数的返回值给参数赋值给B层GroupQuery方法传递参数Dim FGroupQuery As New Facade.GroupQuertFADim table As DataTabletable FGroupQuery.GroupQuery(enGroupQuery)If table.Rows.Count 0 ThenMsgBox(没有记录请重新设置查询条件, vbOKOnly, vbExclamation)DataGridView1.DataSource NothingElseDataGridView1.DataSource FGroupQuery.GroupQuery(enGroupQuery)End IfEnd Sub 定义虚函数GetDBName,获取不同数据库的字段名 Protected Overridable Function GetDBName(ByVal control As String) As StringReturn End Function 定义虚函数GetDBName,获取不同数据库的表名 Protected Overridable Function GetTable() As StringReturn End FunctionPrivate Sub Button2_Click_1(sender As Object, e As EventArgs) Handles btnExit.ClickMe.Close()End Sub组合关系一不为空后显示第二行查询条件Private Sub cmbRelation1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbRelation1.SelectedIndexChangedcmbField2.Enabled TruecmbOperation2.Enabled TruecmbRelation2.Enabled TruetxtContent2.Enabled TrueEnd Sub组合关系二不为空后显示第三行查询条件Private Sub cmbRelation2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbRelation2.SelectedIndexChangedcmbField3.Enabled TruecmbOperation3.Enabled TruetxtContent3.Enabled TrueEnd SubEnd Class/span 2在B层对D层数据库的查询结果做出处理 span stylefont-size:18px;Imports Charge.IDAL Imports Charge.Model Public Class GroupQueryBLL summary 根据组合查询D层的返回结果判断是否有值 /summary param nameenGroupQuery/param returns没有值不返回任何东西有就返回信息/returns remarks/remarksPublic Function GroupQueryStudent(ByVal enGroupQuery As Model.GroupQueryM) As DataTableDim factory As New Factory.CreateFactoryDim IGroupQuery As IGroupQuery factory.CreateGroupQueryDim table As DataTable IGroupQuery.GroupQuery(enGroupQuery)检查D层返回的数据表中是否有数据If table.Rows.Count 0 ThenReturn NothingElseReturn tableEnd IfEnd Function End Class/span 3在D层对数据进行查询 span stylefont-size:18px;/********************************************** 类名SQLGroupQuery 命名空间ChargeDAL 创建时间2015/1/5 20:58:39 创建人HXX 修改时间 修改人 版本号4.0.30319.18449 说明实现组合条件的 版权HHX /********************************************** Imports System.Data.SqlClient Imports System.Data Imports ChargePublic Class SQLGroupQuery : Implements IDAL.IGroupQuery summary 根据设置的条件进行信息查询 /summary param nameenGroupQuery/param returns返回查询结果信息的集合/returnsPublic Function GroupQuery(enGroupQuery As Model.GroupQueryM) As DataTable Implements IDAL.IGroupQuery.GroupQueryDim strSQL As String QueryGroup 调用存储过程 Dim prams As SqlParameter() {New SqlParameter(cmbField1, enGroupQuery._field1),New SqlParameter(cmbField2, enGroupQuery._field2),New SqlParameter(cmbField3, enGroupQuery._field3),New SqlParameter(cmbOperation1, enGroupQuery._operate1),New SqlParameter(cmbOperation2, enGroupQuery._operate2),New SqlParameter(cmbOperation3, enGroupQuery._operate3),New SqlParameter(txtContent1, enGroupQuery._content1),New SqlParameter(txtContent2, enGroupQuery._content2),New SqlParameter(txtContent3, enGroupQuery._content3),New SqlParameter(cmbRelation1, enGroupQuery._relation1),New SqlParameter(cmbRelation2, enGroupQuery._relation2),New SqlParameter(tableName, enGroupQuery.GetTable)} 设置参数Dim MyHelper As New SqlHelperDim table As New DataTabletable MyHelper.ExecSelect(strSQL, CommandType.StoredProcedure, prams)Return tableEnd Function End Class/span 三、在继承窗体中的应用 在继承窗体中需要重写模板父窗体中的方法关键点有字段的转换数据表的返回。 span stylefont-size:18px; Private Sub FrmOperateWorkLog_Activated(sender As Object, e As EventArgs) Handles Me.Activated避免一个窗体多次打开或者打开多个操作窗体Dim frm As Form遍历打开了的每一个窗体For Each frm In Application.OpenForms如果当前窗体不是主窗体或者没有被打开过If frm.Name Me.Name And frm.Name FrmMain.Name And frm.Name FrmLine.Name Then其他打开的窗体最小化frm.WindowState 1End IfNextEnd SubPrivate Sub FrmMaintainInfo_Load(sender As Object, e As EventArgs) Handles MyBase.Load给字段赋值cmbField1.Items.AddRange({教师, 注册日期, 注册时间, 注销日期, 注销时间, 机器名})cmbField2.Items.AddRange({教师, 注册日期, 注册时间, 注销日期, 注销时间, 机器名})cmbField3.Items.AddRange({教师, 注册日期, 注册时间, 注销日期, 注销时间, 机器名})cmbOperation1.Items.AddRange({, , , })cmbOperation2.Items.AddRange({, , , })cmbOperation3.Items.AddRange({, , , })cmbRelation1.Items.AddRange({与, 或})cmbRelation2.Items.AddRange({与, 或})End Sub重写获得表名方法Protected Overrides Function GetTable() As StringenGroupQuery.GetTable TC_WorkLogInfoReturn enGroupQuery.GetTable()End Function重写转换成数据库字段方法Protected Overrides Function GetDBName(control As String) As StringSelect Case (control)Case 教师Return UserIDCase 注册时间Return OnTimeCase 注册日期Return OnDateCase 注销时间Return OffTimeCase 注销日期Return OffDateCase 机器名Return ComputerCase 或Return orCase 与Return andCase ElseReturn End SelectEnd Function End Class /span 到这里利用窗体继承和模板方法进行组合查询就算是实现了。 四、应用说明1这里的返回类型都是DataTable如果将其换为List则就没有这么简单了。还需要多写一步存储过程中就像返回查询表格的参数一样将查询表格的参数写到List中的表。2这里D层的查询是通过调用的存储过程对存储过程的使用和理解将在下一篇博客中详细说明。不过在这里可以替换成一种类型就像是第一次做机房时那样。例第一次机房中 span stylefont-size:18px;txtSQL txtSQL tiaojian(Trim(cobozd1(0).Text)) Trim(cobocz1(0).Text) Trim(txtnr1.Text) _ and _ tiaojian(Trim(cobozd1(1).Text)) Trim(cobocz1(1).Text) Trim(txtnr2.Text) _ and _ tiaojian(Trim(cobozd1(2).Text)) Trim(cobocz1(2).Text) Trim(txtnr3.Text) /span 在这里也可以将存储过程换成一般的文本类型查询。因为是应用的参数赋值使用字符拼接的方式将组合查询的三个情况看做是一种情况也是可行的。 五、个人感想 学以致用学了还要会用才行。刚开始学了设计模式的时候真的感受不大。但用上了之后真的觉得很方便。只是在用的过程中有点艰难不过把一个个的问题解决了最后实现了感觉真的很良好。 转载于:https://www.cnblogs.com/hhx626/p/6010455.html
http://www.pierceye.com/news/510385/

相关文章:

  • 西安学校网站建设网站搜索工具
  • 小型网站的建设方案龙江人社app二维码图片
  • 西宁微网站建设wordpress更新文章post.php错误
  • 网络营销网站平台有哪些众希网站建设
  • 网站建设营销的技巧公司招聘网站排行榜
  • 长治网站建设收费多少农村自建房设计图 户型图
  • 广州网站建设 骏域网站建设做搜狗网站优化首页软
  • 广州网站设计软件简约大方网站
  • 网站建设与管理专业好吗做国际贸易如何建网站
  • 小说百度风云榜上海seo网络推广渠道
  • 建设局网站打不开是什么原因wordpress客户端插件
  • 农业 网站源码网站制作产品优化
  • 企业公司网站制作建设怎么区分营销型网站
  • 如何选择顺德网站建设网站开发源代码
  • 北京城乡建设部网站网站页面是自己做还是使用模板
  • 网新企业网站管理系统厦门好景科技做网站
  • 手机网站开发语言深圳网站建设培训
  • wordpress做的视听网站怎么用ftp清空网站
  • 网站建设能干什么网页设计代码模板人物介绍
  • 桂阳网站设计做p2p投资理财的网站
  • 做学术论文的网站从化专业做网站
  • 从化网站制作狮山公司网站建设
  • 网站开发验证码图片不显示php 自动做网站点击量
  • 大连网站开发费多少钱合肥企业网站建设工作室
  • 小企业网站建设的基础知识wap网站 开发
  • 地方门户网站赚钱吗沈阳黑酷做网站建设优化公司怎么样
  • 佛山市seo网站设计工具内部网站建设软件下载
  • 深圳网站建设高端设计网站建设 补充协议
  • 枣阳网站建设 枣阳山水数码自己建网站备案
  • 网站网站制作多少钱共享看世界新域名