的更容易。
querymode=
No
Yes
(图3.2.1.2)
当用户使用此键时先设置QUERYMODE
dw_1.object.datawindow.querymode='yes'
dw_1.object.datawindow.queryclear="yes"
使窗口处于查询状态
输入查询条件
确定后显示窗口内显示与输入条件匹配的数据信息
如果无符合条件的数据系统提示无符合条件的数据
系统再次设置QUERYMODE
dw_1.object.datawindow.querymode='yes'
dw_1.object.datawindow.queryclear="yes"
用户可以重新填写查询条件
多条件查询的实现
为了方便论文的查询,本系统特别为论文建立了多条件查询窗口。用户通过条件查询窗口不仅可以根据论文的信息查找论文,还可以根据作者的信息进行查找使用户可以更有效率的查找信息,下面看看多条件查询窗口的实现;
初始化过程
//为窗口中的下拉列表框添加显示内容及其表示的数据
add_ddlb(stringdatawindow,ddlbddlb)是自定义的窗口函数可以将datawindow数据窗口对象中的数据加入到下拉列表框ddlb中,并且使下拉列表框中的数据与相应的数组对应。add_ddlb(stringdatawindow,ddlbddlb)函数中使用了数据存储DATASTORE可以将数据存储看成一个不可视的数据窗口控件,数据存储中同样可以加入数据窗口对象,不仅如此和使用数据窗口控件一样要调用SETTANSOBJECT函数,用ddlb1.additem(mc)函数把数据存储中的描述列加如下拉列表框。
add_ddlb("dw",ddlb_dw)
为单位下拉列表框加入显示的文本及其相对应的数据值
add_ddlb("lwfl",ddlb_fl)
为论文分类下拉列表框加入显示的文本及其相对应的数据值
add_ddlb("lwlx",ddlb_lx)
为论文类型下拉列表框加入显示的文本及其相对应的数据值
add_ddlb("dw_zc",ddlb_zc)
为职称下拉列表框加入显示的文本及其相对应的数据值
在发表时间的设置中采用了组合单选框和EDITMASK混合方式,当用户选择了不限制时间则EDITMASK的文本内容显示不可用,另一中情况,如果选择了限制时间范围,用户可以在EDITMASK中设置论文发表的时间。
在不限单选框的CLICKED事件中写入
em_1.enabled=false
em_2.enabled=false
将em_1.和em_2设置成不可用
与之相反在"在某段时间内"单选框的CLICKED事件中写入
em_1.enabled=true
em_2.enabled=true
将em_1.和em_2设置成可用
em_2.text=string(today())
在em_2的文本中自动生成当前系统显示的日期
姓名和年龄查询条件都采用了静态文本由用户手工输入查询条件
在年级学科查询条件设置时,分别为设置一年级学科和二年级学科提供了浏览按钮,通过此按钮用户打开另一个窗口供用户选择学科
在打开学科窗口后,可以分别显示文科学科和理科学科名称
学科分为一级学科,二级学科,三级学科。
当选择一级学科中的某一学科,在二级学科中显示它的子学科,当选择二级学科中的某一学科,在三级学科中显示它的子学科,
在一级学科的数据窗口中的CLICKED事件
dw_1.selectrow(0,false)
dw_1.selectrow(row,true
xk1.xkdm=dw_1.getitemstring(row,2)
xk1.xkmc=dw_1.getitemstring(row,1)
dw_2.setfilter("left(code,4)='"+xk1.xkdm+".'")
dw_2.filter()
在在二级学科中显示它的子学科
输入查询条件
由于在初始化过程中已经将数据加入列表中用户只需在下拉列表框中选择查询条件,在选择年级学科时用户按浏览按钮将打开另一窗口,得到年级学科的名称
这一过程完成了查询窗口与学科选择窗口间的参数传递。由于窗口间传递的数据包括学科名称和学科代码两部分,所以使用了事先定义的全局结构变量XKM来进行数据的传递
实例化XKM
xkmxk1
利用系统提供的的MESSAGE获得由学科选择窗口传回的XK1
xk1=message.powerobjectparm
查询键的实现
查询按钮将打开含有查询结果的窗口,首先根据窗口中用户设置得出查询条件,然后将查询条件交给查询的结果窗口,结果窗口根据查询条件过滤数据显示结果
//得到用户设置的查询条件
以姓名为例说明
定义字符变量tj用来存放查询条件
判断姓名下拉列表框是否为空
name=trim(ddlb_dw.text)
iflen(trim(name))<>0then
得到下拉列表框中的内容对应的数据
i=ddlb_dw.selectitem(name,0)
dm=dwbh[i]
为tj负值
tj=tj+"_lw.dwdm='"+dm+"'and"
endif
以此类推把所有的查询约束负给tj同时打开查询结果窗口并传递tj.
查询结果窗口根据字符变量tj显示结果
利用系统提供的的MESSAGE获得传递的条件参数
tj=message.stringparm
设置数据窗口控件dw_1的SQL描述,sqlnew中含有SQL语句信息
dw_1.setsqlselect(sqlnew)
以上为各主要模块的实现过程
第七部分总结
在徐晓霞老师的指导下。本次毕业设计,就要画上一个句号了。可是,对我来说,这次设计的本身所产生的影响,还远远没有结束,我从本次毕业设计中学到了许多课本上没有的知识。从设计任务书的下达到今天基本实现任务书中的设计要求,时间已整整过去了三个月。在这段时间中。通过自己的学习和努力;通过徐晓霞老师的指导和教育,使我不仅仅在知识水平和解决实际问题的能力上有了很大的提高。还从思想的深处体会到,要把自己的所学变成现实时所将面对的种种难题。
由于我平时的课程理论知识的学习,我总是认为自己的知识水平已经能处理许多的现实问题了。而当自己真正的深入到设计实践当中,深入到问题当中时。我竟然发现自己无从下手,我开始怀疑我是否真正的学到了知识。也只有到了那个时候,我才真正体会到学会运用自己的能力与知识是何等的重要,知识是在课堂上,老师教授的,在书本中学到的,实践则是要自己动手,自己去做才能掌握。
在徐晓霞老师的关心和帮助下,我渐渐的开始了设计。根据老师的建议,我找来了数据库设计与建设的相关书籍和资料,从最基本的问题入手开始一个个的解决我心中的疑惑。这是一个漫长的学习过程。随着时间的推移,我开始慢慢的掌握了设计时所需要的知识。我也终于明白了大学四年学习的意义和作用。扎实的基本功和良好的学习习惯,能使自己在学习新知识有更深刻的认识力和更快的领会力。
同时计算机系对毕业设计的重视也是我能完成设计的一个重要条件。为了保证我们毕业设计的正常进行,系里抽调了最好的老师指导我们进行毕业设计,提供最好的设备给我们,在软硬件上支持我们进行毕业设计,并且不时地询问我们毕业设计的进展情况。为我们这次设计的正常开展提供了必要的物质基础。
关于本次设计的命题,我的设计只能提供其基本的功能。还有许多的设想由于时间和自身和因素无法得以实现,这不能不说是本次设计的遗憾之处。不过,至少它已经启发了自己的思维,提高了我的动手能力,这是我在课本中学不到的。它为我们在以后的工作岗位上发挥自己的才能奠定了坚实的基础。
第八部分参考资料
《软件工程》杨文龙 主编 电子工业出版社1999年
《数据库系统原理》 李建中 王珊主编电子工业出版社1998年
《PowerBuilder7.0》 崔巍主编清华大学出版社2001年
《PowerBuilder7.0应用技术》 崔巍主编清华大学出版社2001年
《PowerBuilder7.0应用开发技术详解》王蓉主编电子工业出版社 2000年
《SQLServer2000数据库应用基础》李代平、章文主编冶金工业出版2000年
(指导教师评语、院系论文答辩机构意见)
论文指导教师评语
签字(印章):
年月日
院系论文答辩机构意见
答辩机构负责人签字:
院(系)印章
年月日
??
??
??
??
延边大学科研管理系统论文
30
延边大学科研管理系统论文
上一篇:
PB电子词典设计与开发(论文和程序)
下一篇:
我突然不喜欢你了