PB源码:简单实现多种条件“组合查询”

   

   此篇文章将带领大家实现PB9.0中“组合查询”的功能。

   还记得“机房收费系统”中,我们如何实现“组合查询”的吗?首先,带领大家回忆一些界面:

   

   还记得当初写过的一篇博客《【机房收费系统知识小结点系列】之组合查询》同样是关于“组合查询”的,其中程序的精华之处在于“1”。

   下面带领大家回忆一下代码的精华之处:


   解析:默认值设置为“1”,使得sql语句的最终拼接,出现1=1 and 1=1的恒等效果。用”1”封装了所有的变化,最终只要写一个sql语句就可以实现”组合查询”的效果。否则,你可能就需要多重if ……else……嵌套,并且多种sql语句来实现效果了。


   用上述”1”的思想,用于设计PB9.0组合查询。

   首先来看一下界面(此处的界面已经做了精简):

分析:

   1、总共有四种查询条件:用户名、真实姓名、登陆日期、退出日期。

   2、其中每一种查询条件都分为两种情况:

    (1)输入的查询条件,则按照输入的信息进行查询

    (2)没有输入查询条件,则默认为:1

w_queryuserlog窗体的open()事件:

//数据窗口dw设置连接事务sqlca
dw_queryuserlog.settransobject(sqlca)
//让数据窗口控件从库中提取数据
//dw_queryuserlog.retrieve()
//得到原始语法,为检索做准备
is_sql = dw_queryuserlog.getsqlselect()

cb_query事件:
     
//用于接受用户输入的数据
string struserno
string strusername
string strlogindate
string strlogoffdate
string Is_select
//用户表示数据库中的字段
string userno
string username
string logindate
string logoffdate

//判断查询条件:用户名是否为空
if trim(sle_userno.text)="" then
	userno="1"
	struserno="1"
else
	userno="userno"
	struserno=trim(sle_userno.text)	
end if

//判断查询条件:真实姓名是否为空
if trim(sle_username.text)="" then
	username="1"
	strusername="1"
else
	username="username"
	strusername=trim(sle_username.text)	
end if

//判断查询条件:登陆日期是否为空
if strlogindate="" then	
	logindate="1"
	strlogindate="1"
else
	logindate="logindate"
	strlogindate=em_logindate.text
end if

//判断查询条件:退出日期是否为空
if strlogoffdate="" then
	strlogoffdate="1"
	logoffdate="1"
else	
	logoffdate="logoffdate"	
	strlogoffdate=em_logoffdate.text
end if

//SQL语句,表示查询条件
//Is_select=""
Is_select=is_sql +" where "
Is_select=Is_select+userno+"='"+struserno+"' and "
Is_select=Is_select+username+"='"+strusername+"' and "
Is_select=Is_select+logindate+"='"+strlogindate +"' and "
Is_select=Is_select+logoffdate+"='"+strlogoffdate +"' "

//检索数据
dw_queryuserlog.setsqlselect(Is_select)
//让数据窗口控件从库中提取数据
dw_queryuserlog.retrieve()

//统计显示记录的数目
int count
count=dw_queryuserlog.rowcount()
if count<>-1 then
	sle_count.text=string(count)	
else
	sle_count.text="0"
end if

	

这样的好处就在于:

   不需要对四中查询条件进行判断

   不需要多重if……else……嵌套了

   也不需要写多条sql语句了。

   最重要的是,把一件看似很难很难的任务通过一种简单的方式来实现。在实现的过程中,你会有种似曾相识的感觉。慢慢的就会消除这种,由于“语言不通”而带来的陌生感,对代码产生恐惧。从而使你的心情放轻松,以便于更好地工作。

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 26
    评论
PB维修仓库源码是指用于管理和维护PB维修仓库系统的源代码。PB(Parts and Bin)维修仓库是一种用于存放和管理设备零部件、备件和零件的仓库系统。 PB维修仓库源码通常包括以下主要功能: 1. 仓库管理:实现对设备零部件和备件的入库、出库和库存管理等功能。采用数据库系统来管理仓库的物料编码、名称、型号、规格、数量等基本信息,并提供相应的添加、编辑和删除功能。同时,支持库存信息的导入和导出,以及库存预警功能,确保库存的及时补充和消耗的控制。 2. 维修管理:提供设备维修需求登记、派工、维修进度跟踪和维修结果反馈等功能。通过系统的界面,维修人员可以进行设备维修工单的填写,包括设备故障类型、维修所需零件等信息,并可以分派给具体的维修人员进行处理。维修进度的跟踪可以实时查看维修工单的处理情况,以及维修结果的反馈。 3. 仓库查询:提供仓库物料信息的查询功能,包括根据物料编码、名称、型号等进行查询,方便用户快速找到所需物料。同时,还可以进行库存盘点,查看仓库的可用库存和预计库存,以及过期和临近过期物料的管理。 4. 报表统计:支持对仓库物料、维修工单、库存等数据进行统计分析,并提供相应的报表输出功能,用于管理者对仓库运营进行监控和评估。可以生成各类报表,如入库出库报表、维修统计报表、库存盘点报表等。 5. 系统设置:提供系统参数的设置和维护功能,包括用户权限管理、物料分类设置、维修工单状态设置等。通过权限管理,可以对系统的功能模块和操作进行权限控制,确保仅有授权的用户可以进行相应操作。 PB维修仓库源码的编写需要熟悉相关的开发语言,如Java、C#等,并具备数据库开发经验。同时,需要根据实际需求进行系统需求分析和设计,设计合理的数据库结构和界面设计,以及编写相应的业务逻辑和功能代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值