无记名在线投票系统
西安航空职业技术学院 课程设计用纸
西安航空职业技术学院
Jsp技术 课 程
课 程 设 计 说 明
设计题目: 无记名在线投票系统
专 业: 软件技术
班级学号:
姓 名:
指导教师:
年 月 日
教务处印制
第 1 页
西安航空职业技术学院 课程设计用纸
西安航空职业技术学院
课 程 设 计 任 务 书
课题名称:无记名在线投票系统
设计内容: 通过无记名投票系统,用户在注册登陆后可以 查看候选人,并可以进行投票,每位用户每次可以投一票给相 应的候选人,并记下相应的编号,以便于下次登陆时作为是否 投过票的依据条件,管理员可以进行一系列的对数据库的增删
查改,从而实现对错误信息的修改 及其它信息的变更。技术条件或要求:在实现无记名投票系统时使用的是如今编程 的主要工具myeclipse和mysql数据库,jdk1.6的版本和tomcat 通过使用上述软件实现无记名投票系统的主要功能和其它功能 并可以在浏览器中浏览实现。
指导教师(签名): 教研室主任(签名):
开题日期: 年 月 日 完成日期: 年 月 日
第 2 页
西安航空职业技术学院 课程设计用纸
目 录
1.序言 ...........................................................1
1.1开发背景..................................................1
1.2开发的可行性分析 .........................................1
1.2.1 技术可行性..........................................1
1.2.2 经济可行性..........................................2
1.2.3 操作可行性..........................................2 2.开发环境.......................................................2
2.1 myeclipse................................................2
2.2 jdk......................................................3
2.3 tomcat...................................................3 3.专业术语解释...................................................3 4.需求分析 .....................................................5
4.1功能概述 ................................................5
4.2权限分配 ................................................5
4.3运行环境 ................................................5 5.系统软件总体设计 .............................................5
5.1系统组成模块 ............................................6
5.2前台组成模块 ............................................6
5.3后台管理模块 ............................................6
5.4注册登录模块 ............................................6
第 3 页
西安航空职业技术学院 课程设计用纸
5.5投票模块 .................................................6 6系统详细设计 ...................................................8
6.1系统功能结构图 ...........................................8
6.2注册登陆模块详细设计 .....................................8
6.3投票模块详细设计 .........................................9
6.4 后台管理模块详细设计 ....................................10
6.5 系统数据库设计 ..........................................10 7 运行与测试 ....................................................12
7.1 系统的运行 .............................................. 12
7.2 系统的测试 ...............................................12 8
............................................................13 9附加主要代码....................................................14
9.1 tpjg.jsp页面.............................................14
9.2 delete.jsp...............................................18
9.3 update.jsp...............................................18
9.4 insert.jsp...............................................19
9.5 select.jsp...............................................20
9.6 验证代码.................................................23
9.7 票数统计.................................................24
第 4 页
西安航空职业技术学院 课程设计用纸 1.序言
1.1 开发背景
随着INTERNET的发展,世界网民的数量急剧增加,社会的信息化强度增强,企业竞争之激烈,故对市场信息的掌握范围不仅仅是周边的一些信息,而应把范围扩展到全国,甚至全世界,INTERNET恰恰是实现这目标的有利工具。对于新产品,新观点的调查范围应该更广泛,消息应该及时反馈给企业单位,故一个网上在线投票系统应允而生,它正好充分满足客户的需求,信息反馈的范围扩大,人力资源的节省,从而使得企业在竞争激烈的市场中拥有更强大的资本。开发此投票系统是为了更好的把市场的信息更准确更快速的反馈给客户,使信息的来源更广泛,从而提高信息的准确性。运用此系统可以降低企业为市场调查而消耗的人力和物力,利用节省的资源提高产品的质量,增强竞争力。一个网站不断发展的前提就是众多用户的支持,一个好的网站一定要注意与用户之间信息的交流。能够有效得到用户反馈的信息,并及时对网站内容进行改进,这也是一个网站持续发展的基础。也正是由于以上原因,网络上各式各样的投票系统层出不穷。本次课程设计的目的,就是来制作一个在线无记名投票系统,该系统可以实现对投票数量进行累加、查询、统计票数等操作。我设计的投票系统主要是针对学校候选人的无记名投票的计数、删除、对错误的统计进行修改等操作。
1.2开发的可行性分析
1.2.1技术的可行性
(1)操作系统: Windows7;
第 5 页
西安航空职业技术学院 课程设计用纸 (2)数据库管理系统My Sql;
(3)服务器:Tomcat 6.0
(4)编程工具:编程软件为MyEclipse8.5,编程语言选用Jsp。 1.2.2经济的可行性
此项目的实现,在代替以往的人力投票的同时,大量的缩短了时间,节约了成本,提高工作效率,减少工作人员。
1.2.3操作的可行性
该系统的操作包括:单选投票、删除投票、添加投票、查看投票。 单选投票:用户只能从多个选项中选取一项进行投票。
删除投票:管理员对候选人进行删除。
添加投票:管理员对候选人进行添加。
查看投票:提供用户查看当前投票情况,投票结果以
格形式显示。 2.开发环境
2.1 myeclipse
MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts,
JSF, CSS, Javascript, SQL, Hibernate。 在结构上,MyEclipse的特征可以被分为7类:
J2EE模型 : 2. WEB开发工具 3. EJB开发工具 4. 应用程序服务器的
第 6 页
西安航空职业技术学院 课程设计用纸 连接器 5. J2EE项目部署服务 6. 数据库服务 7. MyEclipse整合帮助
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。
2.2 jdk
Java Development Kit 的缩写,是Sun Microsystems针对Java开发员的产品。想要开发java产品,需先安装JDK。
2.3 tomcat
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器。Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。 3.专业术语
JSP:(Java Server Pages),JSP是一种基于Java的技术,用来产生跨平台和跨Web服务器的动态页面。
JDBC:(Java DataBase Connectivity),Java数据库连接。它主要是一套让你
第 7 页
西安航空职业技术学院 课程设计用纸 访问数据库的API,程序人员可以利用JDBC API来执行SQL语句。
Servlet: Servlet可以称之为“服务器小程序”,与Java application不同,它没有main方法,而是用一些特定的方法用于启动、执行和退出。通过使用Servlet,可以与运行与客户端的Applet进行交互,也可以直接与HTML页进行交互。
JavaBeans: JavaBeans是可复用的平台中立的软件组件,可以在软件开发工具中被直观地操作。应用程序开发者可以通过支持JavaBeans的开发工具,直接使用现成的JavaBeans,也可以在开发工具容器中,对组件进行必要的修改、测试而不必编写和编译程序。在Java模型中,组件可以修改或与其他组件组合以生成新组件或完整的应用程序。
HTML:(Hypertext Markup Language)超文本标记语言,它是组织多媒体文档的重要语言,它不仅用来编写Web网页,而且可以使用它来制作光盘上的多媒体节目。HTML可用来编排文档、创建列表、建立链接等等。 XML:(eXtensible Markup Language)可扩展标记语言,它是一种具有数据描述功能(Meta-language)、高度结构性及可验证性的语言。
SQL:(Structured Query Language),结构化查询语言。SQL语言地任务就是与各种数据库建立关系,SQL语言是关系型数据库的标准语言,大多数关系型数据库管理系统都支持SQL语言并采用了SQL的语言标准。 MySQL:MySQL是一个可用于各种流行操作系统平台的关系数据库系统,它具有客户机/服务器体系结构的分布式数据库管理系统。按照使用又可以分为DML,即数据操作语言和DDL。
第 8 页
西安航空职业技术学院 课程设计用纸 4.需求分析
4.1功能概述
(1) 前台模块:主要显示主欢迎界面,分别是用户和管理员登陆界面,用户和管理员进行姓名和密码的输入,点击登陆后会到后台数据库中分别会进行用户和管理员的用户名查询,如果存在,登陆成功,没有,则登录失败。
(2) 后台管理模块:管理员模块是指管理员对后台数据进行的管理模块,管理员通过登录成功后进入到后台数据的首页,此页面有增、删、改、查的基本操作和查看投票总数。四个基本操作对候选人信息表进行操作,管理员点击查看投票总数可以查看每位候选人的基本投票情况,所有操作完成后都会跳回到后台数据的首页,点击退出返回到登录页面,此时移除管理员的姓名。
(3) 登陆模块 :登陆是为了候选人的投票数准备的,用户在进行用户名和密码的输入后登录成功,进入到候选人的投票界面,点击每位后选人的投票进入到用户个人投票界面,用户就可以进行投票。
(4) 投票模块 :在登录成功后进入到候选个人投票页面的后,分别有对应的四个评选等级的选项,每次只能选择一个选项,选好后跳到点击提交,提交成功后会返回到投票界面。此时用户可以再次选择候选人进行投票,对于应经投过票的候选人,无法再次投票。在进行所有投票操作完成后,点击退出,完成投票任务,返回登录界面,此时移除用户姓名。
4.2权限分配
权限分为:用户投票和后台管理。
前台管理:具有登录,投票,查看候选人信息等内容。
第 9 页
西安航空职业技术学院 课程设计用纸
后台管理:管理员从后台很方便的添加新的信息,修改及删除现有的问题以及用户的管理都很好的实现,修改错投以及候选人信息,查看投票情况等操作。 4.3运行环境
MyEclipse配置开发:
(1)保证mysql和tomcat服务能够正常启动,myeclipse能够正常打开在配置中添加tomcat。下面就要开始真正的开始部署一个web结构的工程了。
(2)dreamwave的使用其方便的可视化设计 方便网页整体布局或单一元素属性设置实现。在dreamwave中配置jsp站点也相对较容易。
(3)本程序在tomcat6.0 +jdk 1.6+IE浏览器/360浏览器环境下完美运行. 5.系统软件总体设计
5.1系统组成模块
该系统主要由以下六个模块组成:登陆注册模块,管理员模块,用户模块,候选人模块,投票模块。整体结构采用框架,以便网站整体设计一致。模块结构如下图:
登陆注册模块
候选人模块
管理员模块 登陆注册模块
投票模块 用户模块
5.2前台组成模块
前台模块主要是欢迎界面显示,投票选项信息显示,用户投票,用户登录。 5.3后台管理模块
后台管理模块是指管理员对候选人,用户,题目信息,评选信息表进行的管理
第 10 页
西安航空职业技术学院 课程设计用纸 模块,可以对四个表进行数据的修改(投票时错误的统计,用户或者候选人信息的错误),删除(选拔批次),查询,增加的功能,查看投票的情况(管理员实行一切后台数据库的管理权限)。
5.4登录模块
登陆主要为管理员和客户进入相应权限的桥梁。登陆模块需要添相关的信息,用户名,密码,然后进行登录。用户登陆成功后可以对候选人进行一对多的投票。 5.5投票模块
投票模块显示投票的候选人信息,提供所有与之相关的连接,用户可以选择对不同的用户进行相应投票。然后用户选择投票选项(四种评选级别),提交表单。投票表单包括选项。每次每个用户只可以投一次票,每次投的票数进行累加返回给数据库。实行的是无记名投票,保存的是用户的编号及投过的候选人编号基本信息。
(1).投票系统流程图
第 11 页
西安航空职业技术学院 课程设计用纸
(2).投票系统流程图
6系统详细设计
6.1系统功能结构图
第 12 页
西安航空职业技术学院 课程设计用纸
无记名投票系统
后台管理 投票 注册登录
管投查 用用管管理票看 投户户理理候评投票 注登用题选选票 册 陆 户 目 人 信 息
6.2注册登陆模块详细设计
(1)登录注册模块功能设计
(3)用户登录与注册说明
注册和登录几乎是所以网站和应用通有的功能 涉及到是否拥有权限对后台的直接管理也是整个系统比较重要的部分。其实现主要是通过对用户密码的初级验证比如是否为空注册则判断两次密码是否相同 用户命名是否符合要求等这些客服端验证主要通过javascript验证 通过本地验证后再然后是传数据到数据库进行
第 13 页
西安航空职业技术学院 课程设计用纸 相应操作来验证帐号密码是否存在依此判断用户是否拥有管理权限。
6.3投票模块详细设计
(1) 投票模块功能设计
(2) 投票模块功能设计说明
投票,用户进行登录后才可以进行投票和查询候选人的基本信息,在投票的时候,用户每次只有一次机会,不能进行多投的现象发生,在投票的时候实行的是无记名投票,所以只会有用户的编号和用题号,将该编号和题号存于数据库,便于下次判断该用户是否投过票没有的依据,从而防止用户对用户实现了一票一投的机制,不会有其它多余的信息。用户在投完票后就可以查看候选人的总的票数,管理员可以设定用户的投票人数,同时可以查询候选人的投票总数。
6.4 后台管理模块详细设计
(1)后台管理模块设计
(2)后台管理中心设计说明 本模块设计主要考虑为整个后台管理首页
第 14 页
西安航空职业技术学院 课程设计用纸 为其他功能提供主入口。该页面也实现了常用的主题修改和查询删除。 6.5 系统数据库设计
客户模块就是对投票进行添加,删除和查看,客户管理员可以从后台登陆对投票进行管理。
(1) 创建表 创建数据库中用到的投票表:
候选人信息表
评选信息表
题目信息表
用户信息表
第 15 页
西安航空职业技术学院 课程设计用纸
投票验证
管理员信息表
7 运行与测试
7.1系统的运行
(1)该系统我在jdk1.6+myeclipse8.5+sql server环境下测试通过:
(2)开启服务器,在浏览器的网址中输入对应的地址(URL) 7.2 系统的测试
(1) 测试指南
(1) 准备:草拟一个
。
(2) 准备:设定期望值。
(3) 准备:精确定义被投票人。
第 16 页
西安航空职业技术学院 课程设计用纸
(4) 准备:内部先测试而且要经常测试。
(5) 测试:灵活进行。
(6) 测试:在一个舒适的环境下进行。
(7) 测试:尽量减少用户在测试中的偏颇。 (8) 测试:尊重参与者。
(9) 总结:仔细分析数据。
(10) 总结:演示结论。
(2)遇到的问题以及解决思路:
(1)在各个页面传递参数或数据时对于中文乱码的处理。如果是对应request对象 可以使用request.setCharacterEncoding("gb2312");使其编码转为gb2312 然后再通过 request.getParameter("传值参数");获得传来的数值。这样就不会有中文乱码问题。
(2)在对数据库处理业务页面与jsp显示页面之间传递操作成功与否信息值 到相应jsp页面时考虑使用
然后在jsp页面用
warning=request.getParameter("warning");接收传递的提示信息。 8总结
经过了这周的学习研究,终于完成了该课程设计的架构到实现。从开始选定题到系统的规划实现,再到报告的完成,每走一步对我们来说都是新的尝试与挑战,虽然整个项目不大功能也还不够完善 ,但是我们却为之付出了大量心血。在这段时间里,从与同学交流到向老师请教,以及查阅相关资料,学到了很多知识也有很
第 17 页
西安航空职业技术学院 课程设计用纸 多感受,在设计过程中,有一点让我体会很深,那就是在设计之前一定要有一个具体详细的计划,将设计任务分块,明确在什么时间段完成什么任务,然后有计划有步骤的一步步完成课程设计,而不是开始松散,到最后在增改。
通过本次设计,我基本明确了一个基于jsp应用系统从设计到开发的大致流程和重点关注的方向,同时对JSP,SQL语句 数据库关系等都有了基本的了解和掌握 9. 主要代码
9.1 tpjg.jsp页面
<%
request.setCharacterEncoding("utf-8");
String tpid=request.getParameter("tpid");//获取当前用户工号
String hxrgh=request.getParameter("hxrgh");//获取当前候选人工号
session.setAttribute("tpid",tpid);
int tmid=Integer.parseInt(request.getParameter("tmid"));//
获取题目编号
session.setAttribute("tmid",tmid);
Pxinfo px=new Pxinfo();//评选信息表对象
String str=request.getParameter("radio");//获取选项的值
UsersConDao usersdao=new UsersConDao();
Tminfo tm=usersdao.selTminfogh(tmid);//题目信息表对象
Tpyz tpr=usersdao.selTpyzid(tpid);//投票验证表对象
第 18 页
西安航空职业技术学院 课程设计用纸
if(tpr==null){
System.out.println("1");
if(str!=""){
System.out.println("2");
String sq="insert into tpyz values('"+tpid+"','"+hxrgh+"',"+tmid+")";
usersdao.insertTpyz(sq);
System.out.println("3");
response.sendRedirect("tpcg.jsp?hxrgh="+hxrgh);
}else if(str!=""&&(tm.getTmxxa()).equals(str)){
String sql="update pxinfo set pxxxa=pxxxa+1 where
pxgh="+hxrgh+" ";
usersdao.upPxinfo(sql);
response.sendRedirect("tpcg.jsp?hxrgh="+hxrgh);
System.out.println("4");
}else if(str!=""&&(tm.getTmxxb()).equals(str)){
String sql="update pxinfo set pxxxb=pxxxb+1 where
pxgh="+hxrgh+" ";
usersdao.upPxinfo(sql);
response.sendRedirect("tpcg.jsp?hxrgh="+hxrgh);
第 19 页
西安航空职业技术学院 课程设计用纸
}else if(str!=""&&(tm.getTmxxc()).equals(str)){
String sql="update pxinfo set pxxxb=pxxxc+1 where
pxgh="+hxrgh+" ";
usersdao.upPxinfo(sql);
response.sendRedirect("tpcg.jsp?hxrgh="+hxrgh);
}else if(str!=""&&(tm.getTmxxd()).equals(str)){
String sql="update pxinfo set pxxxd=pxxxd+1 where
pxgh="+hxrgh+" ";
usersdao.upPxinfo(sql);
response.sendRedirect("tpcg.jsp?hxrgh="+hxrgh);
}else{
System.out.println("5");
response.sendRedirect("toupiao.jsp?hxrgh="+hxrgh);
//request.getRequestDispatcher("toupiao.jsp").forward(request,
response);}
}else{
System.out.println("6");
ArrayList list=usersdao.selTpyzidlist(tpid);//获取投票验证表中所有信息
for(int i=0;i
9.2 delete.jsp
//删除候选人
public void delhxrinfo(String hxrgh)
{
try {
Conn conn=new Conn();
Connection con=conn.getCon();
Statement st=con.createStatement();
System.out.print("hxrgh");
st.executeUpdate("delete from hxrinfo where
hxrgh='"+hxrgh+"'");
conn.closeConn(null, st, con);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
第 22 页
西安航空职业技术学院 课程设计用纸
<%
String hxrgh=request.getParameter("hxrgh");
UsersConDao userscondao=new UsersConDao();
userscondao.delhxrinfo(hxrgh);
out.println("正在删除记录,请稍后......");
%>
9.3 update.jsp
//修改候选人
public void updHxrinfo(String hxrgh,String hxrxm,String hxrzc,String hxrzw,String hxrjx,String
hxrbm,String jxmc){
try {
Conn conn=new Conn();
Connection con=conn.getCon();
Statement st=con.createStatement();
st.executeUpdate("update hxrinfo set
第 23 页
西安航空职业技术学院 课程设计用纸 hxrxm='"+hxrxm+"',hxrzc='"+hxrzc+"',hxrzw='"+ hxrzw+"',hxrjx='"+hxrjx+"',hxrbm='"+hxrbm+"',jxmc='"+jxmc+"' where hxrgh='"+hxrgh+"'");
conn.closeConn(null, st, con);
} catch (SQLException e){
// TODO Auto-generated catch block
e.printStackTrace();
}
}
<%
String
hxrgh=(String)session.getAttribute("hxrgh");
String hxrxm=request.getParameter("hxrxm");
String hxrzc=request.getParameter("hxrzc");
String hxrzw=request.getParameter("hxrzw");
String hxrjx=request.getParameter("hxrjx");
String hxrbm=request.getParameter("hxrbm");
String jxmc=request.getParameter("jxmc");
UsersConDao userdao=new UsersConDao();
userdao.updHxrinfo(hxrgh,hxrxm,hxrzc,hxrzw,hxrjx,hxrbm
第 24 页
西安航空职业技术学院 课程设计用纸 ,jxmc);
out.println("正在修改记录,请稍后......");
%>
9.4 insert.jsp
//插入候选人
public void insertHxrinfo(String hxrgh,String hxrxm,String hxrzc,String hxrzw,String hxrjx,String
hxrbm,String jxmc){
try {
Conn conn=new Conn();
Connection con=conn.getCon();
Statement st=con.createStatement();
st.executeUpdate("insert into hxrinfo(hxrgh,hxrxm,hxrzc,hxrzw,hxrjx,hxrbm,jxmc) values('"+hxrgh+"','"+hxrxm+"','"+hxrzc+"','"+ hxrzw+"','"+hxrjx+"','"+hxrbm+"','"+jxmc+"')");
conn.closeConn(null, st, con);
} catch (SQLException e){
// TODO Auto-generated catch block
第 25 页
西安航空职业技术学院 课程设计用纸
e.printStackTrace();
}
}
<%
String hxrgh=request.getParameter("hxrgh");
String hxrxm=request.getParameter("hxrxm");
String hxrzc=request.getParameter("hxrzc");
String hxrzw=request.getParameter("hxrzw");
String hxrjx=request.getParameter("hxrjx");
String hxrbm=request.getParameter("hxrbm");
String jxmc=request.getParameter("jxmc");
UsersConDao usersdao=new UsersConDao();
usersdao.insertHxrinfo(hxrgh,hxrxm,hxrzc,hxrzw,hxrjx,h
xrbm,jxmc);
out.println("正在插入记录,请稍后......");
%>
第 26 页
西安航空职业技术学院 课程设计用纸 9.5 select.jsp
/*
* 根据ID、密码查找用户
*/
public Users selUsersBynamepass(String userid,String
userpass){
Users users=null;
try {
Conn conn=new Conn();
Connection con=conn.getCon();
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from users
where userid='"+userid+"' and
userpass='"+userpass+"'");
if(rs.next()){
users=new Users();
users.setUserid(rs.getString("userid"));//数据表里的字段名
users.setUserpass(rs.getString("userpass"));
}
第 27 页
西安航空职业技术学院 课程设计用纸
conn.closeConn(rs, st, con);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return users;
}
/**
* 查询候选人信息表
* @return
*/
public ArrayList selHxrinfo(){
ArrayList list=new ArrayList();
try {
Conn conn=new Conn();
Connection con=conn.getCon();
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from
hxrinfo ");
while(rs.next()){
第 28 页
西安航空职业技术学院 课程设计用纸
Hxrinfo hxr=null;
hxr=new Hxrinfo();
hxr.setHxrid(rs.getInt("hxrid"));//数据表里的字段名
hxr.setHxrgh(rs.getString("hxrgh"));
hxr.setHxrxm(rs.getString("hxrxm"));
hxr.setHxrzc(rs.getString("hxrzc"));
hxr.setHxrzw(rs.getString("hxrzw"));
hxr.setHxrjx(rs.getString("hxrjx"));
hxr.setHxrbm(rs.getString("hxrbm"));
hxr.setJxmc(rs.getString("jxmc"));
list.add(hxr);
}
conn.closeConn(rs, st, con);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
第 29 页
西安航空职业技术学院 课程设计用纸
/**
* 根据工号查询候选人信息
* @return
*/
public Hxrinfo selHxrinfogh(String hxrgh){
Hxrinfo hxr=null;
try {
Conn conn=new Conn();
Connection con=conn.getCon();
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from
hxrinfo where hxrgh='"+hxrgh+"'");
if(rs.next()){
hxr=new Hxrinfo();
hxr.setHxrid(rs.getInt("hxrid"));//数据表里的字段名
hxr.setHxrgh(rs.getString("hxrgh"));
hxr.setHxrxm(rs.getString("hxrxm"));
hxr.setHxrzc(rs.getString("hxrzc"));
hxr.setHxrzw(rs.getString("hxrzw"));
hxr.setHxrjx(rs.getString("hxrjx"));
第 30 页
西安航空职业技术学院 课程设计用纸
hxr.setHxrbm(rs.getString("hxrbm"));
hxr.setJxmc(rs.getString("jxmc"));
}
conn.closeConn(rs, st, con);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return hxr;
}
/** 查询题目信息表@param hxrgh
* @return
*/
public Tminfo selTminfogh(int tmid){
Tminfo tm=null;
try {
Conn conn=new Conn();
Connection con=conn.getCon();
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from
tminfo where tmid="+tmid+"");
第 31 页
西安航空职业技术学院 课程设计用纸
if(rs.next()){
tm=new Tminfo();
tm.setTmid(rs.getInt("tmid"));//数据表里的字段名
tm.setTmnr(rs.getString("tmnr"));
tm.setTmxxa(rs.getString("tmxxa"));
tm.setTmxxb(rs.getString("tmxxb"));
tm.setTmxxc(rs.getString("tmxxc"));
tm.setTmxxd(rs.getString("tmxxd"));
}
conn.closeConn(rs, st, con);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return tm;
}
9.6 验证代码
/**
* 根据工行号查询投票验证表
第 32 页
西安航空职业技术学院 课程设计用纸
* @return
*/
public boolean selTpyzgh(String tpid){
boolean flag=false;
try {
Conn conn=new Conn();
Connection con=conn.getCon();
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from
tpyz where tpid='"+tpid+"'");
if(rs.next()){
flag=true;
}
conn.closeConn(rs, st, con);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return flag;
}
第 33 页
西安航空职业技术学院 课程设计用纸
/**
* 根据工号查询投票验证表,并返回用户
* @return
*/
public Tpyz selTpyzid(String tpid){
Tpyz tp=null;
try {
Conn conn=new Conn();
Connection con=conn.getCon();
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from tpyz
where tpid='"+tpid+"'");
if(rs.next()){
tp=new Tpyz();
tp.setTpid(rs.getString("tpid"));//数据表里的字段名
tp.setPxid(rs.getString("pxid"));
tp.setTmid(rs.getInt("tmid"));
}
conn.closeConn(rs, st, con);
第 34 页
西安航空职业技术学院 课程设计用纸
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return tp;
}
/*** 根据工号查询投票验证表,并返回所有用户 */
public ArrayList selTpyzidlist(String tpid){
ArrayList list=new ArrayList();
try {
Conn conn=new Conn();
Connection con=conn.getCon();
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from tpyz
where tpid='"+tpid+"'");
while(rs.next()){
Tpyz tp=null;
tp=new Tpyz();
tp.setTpid(rs.getString("tpid"));//数据表里的字段名
tp.setPxid(rs.getString("pxid"));
第 35 页
西安航空职业技术学院 课程设计用纸
tp.setTmid(rs.getInt("tmid"));
list.add(tp);
}
conn.closeConn(rs, st, con);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} return list;
}
9.7 票数统计
/*根据工号查宿票数*/
public Pxinfo selpxinfogh(String hxrgh){
Pxinfo px=null;
try {
Conn conn=new Conn();
Connection con=conn.getCon();
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from
pxinfo where pxgh='"+hxrgh+"'");
if(rs.next()){
px=new Pxinfo();
第 36 页
西安航空职业技术学院 课程设计用纸
px.setPxid(rs.getInt("pxid"));//数据表里的字段
名
px.setPxmc(rs.getString("pxmc"));
px.setPxgh(rs.getString("pxgh"));
px.setPxxxa(rs.getInt("pxxxa"));
px.setPxxxb(rs.getInt("pxxxb"));
px.setPxxxc(rs.getInt("pxxxc"));
px.setPxxxd(rs.getInt("pxxxd"));
}
conn.closeConn(rs, st, con);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return px;
}
第 37 页
西安航空职业技术学院 课程设计用纸
西安航空职业技术学院
课程设计(论文)成绩评定表
论文评语:
答辩情况:
成绩:
签名:
年 月 日
第 38 页