在线投票系统详细设计

第1部分 概 述

在线投票系统主要用来统计网站用户对某个主题或热门话题的意见。决策者通过这些统计数据做出相应的决策。在线投票系统是一般网站必备的程序之一,如果网站开发者想了解用户对该网站的意见和建议。他可以设计这样一个投票主题:你认为该网站如何?(A. 很好 B. 一般C. 不好)然后提供给用户进行投票。

我的投票系统具有极大的灵活性,投票类型分为单选投票和多选投票。管理员可以在线设计不同的投票主题供用户进行投票。

对于该设计报告还有什么不当之处请见谅,同时也希望你能多提宝贵意见。我会认真参考您的意见,修改和完善该系统。 术语列表:

JSP :(Java Server Pages),JSP 是一种基于Java 的技术,用来产生跨平台和跨Web 服务器的动态页面。

JDBC :(Java DataBase Connectivity), Java 数据库连接。它主要是一套让你访问数据库的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(Data Manipulation Language), 即数据操作语言和DDL(Data Definition Language)。

第2部分 分析部分

2.1.功能需求

通过对用户的需求调查分析,可以概括出用户的功能需求如下:单选投票、多选投票、查看投票、投票设计。

◆ 单选投票:用户只能从多个选项中选取一项进行投票。 ◆ 多选投票:用户可以从多个选项中选取多项进行投票。

◆ 查看投票:提供用户查看当前投票情况,投票结果以条形图显示。

◆ 投票设计:管理员可以设计不同的投票主题,及投票主题的内容供用户进行投票。投票

设计又包括以下功能需求:增加主题、删除主题、查看主题、修改主题。

第3部分 系统设计

3.1.功能模块设计

通过对功能需求进行分析和概括得到如图所示的系统功能模块图:

3.2.数据库的设计

该系统的数据库采用MySQL ,根据投票系统功能设计的要求,可以列出以下数据项和数据结构: 投票表:存放投票信息,数据项包括:序号、标识、选项类型、投票主题、投票选项内

容、得票数。

第4部分 系统开发

4.1.数据库 4.1.1.创建数据库

CREATE DATABASE db70019618;

4.1.2.创建表

创建数据库中用到的投票表: CREATE TABLE vote (

id INT NOT NULL AUTO_INCREMENT, flag int, optType int,

question CHAR(255), optContent CHAR(255), number INT,

PRIMARY KEY(id), );

数据库创建后的结构图如下:

4.1.3.连接数据库

该系统使用了MySQL 的JDBC 驱动程序来连接数据库。因为对数据库的访问,在整个系统中比较频繁,所以我将对数据库的操作写成一个DBConnect 的类,通过该类来连接数据库和访问数据库。 //部分代码如下

public DBConnect() { try {

//加载数据库驱动程序

Class.forName(sDBDriver); //建立连接

conn = DriverManager.getConnection(sConnStr); catch (Exception e) { }

System.out.println("DBConnect():" + e.getMessage()); } }

4.2.功能的实现

投票流程图:

该流程图已经包含了在线投票系统的制作的主要方法。下面的工作实际上就是按照该流程图,写出具体的代码。在附录2 设计代码中有我开发的代码,并附有注释。所以在这里我就不展开介绍每一个功能的开发过程。

4.3.问题及解决

这部分应该写在开发中遇到了哪些问题,如何解决等。

第5部分 运行部分

5.1.系统的安装

该系统我在j2sdk1.4.1_01+resin-2.1.9+MySQL-4.0.12-nt环境下测试通过: 安装步骤:

该系统需要JSP 运行环境和MySQL 数据库,如果服务器还没有搭建的话请先搭建。 1. 把vote 、WEB-INF (vote 文件夹存放的是.jsp 文件,WEB-INF 存放的是该系统使用到的一些.class 文件)文件夹上传到你的主机目录。

2. 修改DBConnect.java 里连接MySQL 数据库的IP 、用户名和密码为你自己的IP,user, password 修改编译之后放到WEB-INF\classes\目录下面。

3.请创建数据库db70019517, 然后使用mysql db70019517

4.然后在浏览器输入URL :

(例如这是我的运行方法:http://127.0.0.1:8080/vote/index.jsp)。

5.2.系统的使用

为了直观,在这里我将主要通过程序运行截图来介绍该投票系统的使用。

☞ 在浏览器地址栏里输入在线投票系统的URL 后,将进入在线投票系统的首页。在首页

中显示了该系统的操作。

☞ 在首页中点击你所要进行的操作,即可打开相应的页面。如点击“单选投票”链接即可

打开单选投票页面。

☞ 在首页中点击“多选投票“链接,打开多选投票页面。

☞ 在首页中点击“在线投票“链接后,可以查看在线投票的结果

☞ 在首页中点击“投票设计“链接后,即可打开投票设计中的”增加主题“,同时你会看

到投票设计中的其它几项功能:删除主题、查看主题、修改主题、返回首页。增加主题的方法如下图所示:

☞ 在投票设计中点击“删除主题“链接后,即可打开删除主题页面。如果你要删除某个主

题以及其选项,只需在文本框中输入其ID 号即可。(如果你不知道待删除主题的ID 号你可以首先点击”查看主题“查看其ID 号。

☞ 在投票设计中点击“查看主题“链接后,即可打开查看主题页面。

☞ 在投票设计中点击“修改主题“链接后,即可打开修改主题页面。如果你要修改某个主

题以及其选项,只需在文本框中输入其主题名即可。(如果你不知道待修改主题的主题名你可以首先点击”查看主题“查看其主题名并复制主题名,然后将其粘贴到修改主题名的文本

框中,点查询即可打开相应的主题及其选项。

第6部分 附 录

附录1 运行环境 1.1硬件要求

1.2. 软件要求

要使用JSP ,在服务器端和客户端都必须有对应的运行环境。服务器主要是Servlet 兼容的Web 服务器,客户端主要是浏览器。

由于Java 具有跨平台的特点,所以只要能够安装JDK ,就能在此安装JSP 服务器。JSP 服务器能够运行在目前绝大多数的操作系统上,目前在普通用户中用到的系统绝大多数为Windows 系列和UNIX 系列。

附录2 设计代码 1.vote.jsp

在线投票

单选投票



type="checkbox"; }

2.result.jsp

投票结果

单选投票结果



String sql="select * from vote order by id ";

ResultSet rs=dbBean.executeQuery(sql);

String id;

id = request.getParameter("vote");

sql="update vote set number=number+1 where id="+id;

dbBean.executeQuery(sql);

ResultSet rs1,rstotal;

int questionNum=0,optType,id1,number,total=0;

String question,str,optContent;

sql="select * from vote where flag=0 and optType=0 order by id desc"; rs=dbBean.executeQuery(sql);

while(rs.next()){

questionNum++;

str="主题"+questionNum+":";

question=rs.getString("question");

optType=rs.getInt("optType");

%>

得票数:

" height=10>



返回主页

id=Integer.toString(rs.getInt("id")); sql="select * from vote where flag="+id; rstotal=dbBean.executeQuery(sql); //求得投票的总数 while(rstotal.next()){ number=rstotal.getInt("number"); total+=number; } sql="select * from vote where flag="+id; rs1=dbBean.executeQuery(sql); out.print("


"); //输出各选项的得票数 while(rs1.next()){ optContent=rs1.getString("optContent"); number=rs1.getInt("number"); out.print(str+question+"
"); id1=rs1.getInt("id");

3.add.jsp

String question=request.getParameter("question");

if(question==null){

question ="";

}

String type=request.getParameter("type");

int num=0,optType=0;

try{

num=Integer.parseInt(request.getParameter("num"));

}

catch(Exception e){}

%>

增加主题

增加主题



增加主题||删除主题|| 查看主题

|| 修改主题 ||返回首页



String submit1=request.getParameter("submit1"),str="",optContent,sql; int id;

if(submit1!=null){

sql="insert

into vote(flag,optType,question) values(0,"+optType+",'"+question+"')"; dbBean.executeUpdate(sql); sql="select * from vote order by id desc"; ResultSet rs=dbBean.executeQuery(sql); id=rs.getInt(1); for(int i=1;i

}

out.print("成功插入主题!");

}

%>

4.del.jsp

String id=request.getParameter("id");

String sql="delete from vote where id="+id ;

if(id!=null){

if(dbBean.executeUpdate(sql)){

}

%>

删除主题

out.print("删除记录成功。"); }

删除主题



增加主题||删除主题|| 查看主题

||修改主题 ||返回首页



5.display.jsp

查看主题

查看主题



增加主题||删除主题|| href="display.jsp">查看主题

||修改主题 ||返回首页



String sql="select * from vote";

ResultSet rs=dbBean.executeQuery(sql);

%>

while(rs.next()){

out.println("

");

}

%>

序号 标识
投票主题

投票选项

out.println("

"); out.println(""); out.println(""); out.println(""); out.println(""); out.println("");

6.modify.jsp

修改主题

修改主题



增加主题||删除主题|| 查看主题

||修改主题 ||返回首页

String submit,sql;

int id;

submit=request.getParameter("submit");

if(submit!=null){

String sql_s=request.getParameter("sql");

ResultSet rs,rs1;

int i=0;

if(sql_s!=null){

sql="select * from vote where question ='"+sql_s+"'";

rs=dbBean.executeQuery(sql);

id=rs.getInt("id");

%>

}

String submit1;

submit1=request.getParameter("submit1");

if(submit1!=null){

int count=Integer.parseInt(request.getParameter("count"));

int flag=Integer.parseInt(request.getParameter("id"));

String optType,optType1;

optType=request.getParameter("multiple");

if(optType==null)

optType1="0";

else{

optType1="1";

}

String question=request.getParameter("question");

sql="update vote set question='"+question

+"',optType= "+optType1+" where id="+flag;

if(dbBean.executeUpdate(sql)) out.print("更新主题成功!");

String optContent,optContent1,id1;

for(int i=0;i

optContent1="optContent"+i;

id1="id"+i;

id=Integer.parseInt(request.getParameter(id1));

optContent=request.getParameter(optContent1);

sql="update vote set optContent='"+optContent+"' where id="+id; dbBean.executeUpdate(sql);

}

}

%>

7. DBConnect.java

package vote;

import java.sql.*;

public class DBConnect {

//设置连接数据库的参数

private String user = "s70019618";

private String password = "s7001618";

//MySQL的JDBC 驱动程序

String sDBDriver = "org.gjt.mm.mysql.Driver";

//连接数据库

String sConnStr = "jdbc:mysql://localhost:3306/db70019618?user&password"; Connection conn = null;

Statement stmt = null;

ResultSet rs = null;

public DBConnect() {

try {

//加载数据库驱动程序

Class.forName(sDBDriver);

//建立连接

conn = DriverManager.getConnection(sConnStr);

}

catch (Exception e) {

System.out.println("DBConnect():" + e.getMessage());

}

}

//查询

public ResultSet executeQuery(String sql) {

try {

stmt = conn.createStatement();

rs = stmt.executeQuery(sql);

}

catch (SQLException ex) {

System.out.println("sql.executeQuery:" + ex.getMessage());

}

return rs;

}

//更新

public boolean executeUpdate(String sql){

try{

stmt = conn.createStatement();

stmt.executeUpdate(sql);

return true;

}catch (SQLException ex) {

System.out.println("sql.executeUpdate:" + ex.getMessage()); return false;

}

}

//关闭数据库的连接

public void close() throws Exception{

conn.close();

stmt.close();

}

}

"+rs.getInt("id")+" "+rs.getInt("flag")+" "+rs.getString("question")+" "+rs.getString("optContent")+" "+rs.getInt("number")+"
得 票 数

第1部分 概 述

在线投票系统主要用来统计网站用户对某个主题或热门话题的意见。决策者通过这些统计数据做出相应的决策。在线投票系统是一般网站必备的程序之一,如果网站开发者想了解用户对该网站的意见和建议。他可以设计这样一个投票主题:你认为该网站如何?(A. 很好 B. 一般C. 不好)然后提供给用户进行投票。

我的投票系统具有极大的灵活性,投票类型分为单选投票和多选投票。管理员可以在线设计不同的投票主题供用户进行投票。

对于该设计报告还有什么不当之处请见谅,同时也希望你能多提宝贵意见。我会认真参考您的意见,修改和完善该系统。 术语列表:

JSP :(Java Server Pages),JSP 是一种基于Java 的技术,用来产生跨平台和跨Web 服务器的动态页面。

JDBC :(Java DataBase Connectivity), Java 数据库连接。它主要是一套让你访问数据库的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(Data Manipulation Language), 即数据操作语言和DDL(Data Definition Language)。

第2部分 分析部分

2.1.功能需求

通过对用户的需求调查分析,可以概括出用户的功能需求如下:单选投票、多选投票、查看投票、投票设计。

◆ 单选投票:用户只能从多个选项中选取一项进行投票。 ◆ 多选投票:用户可以从多个选项中选取多项进行投票。

◆ 查看投票:提供用户查看当前投票情况,投票结果以条形图显示。

◆ 投票设计:管理员可以设计不同的投票主题,及投票主题的内容供用户进行投票。投票

设计又包括以下功能需求:增加主题、删除主题、查看主题、修改主题。

第3部分 系统设计

3.1.功能模块设计

通过对功能需求进行分析和概括得到如图所示的系统功能模块图:

3.2.数据库的设计

该系统的数据库采用MySQL ,根据投票系统功能设计的要求,可以列出以下数据项和数据结构: 投票表:存放投票信息,数据项包括:序号、标识、选项类型、投票主题、投票选项内

容、得票数。

第4部分 系统开发

4.1.数据库 4.1.1.创建数据库

CREATE DATABASE db70019618;

4.1.2.创建表

创建数据库中用到的投票表: CREATE TABLE vote (

id INT NOT NULL AUTO_INCREMENT, flag int, optType int,

question CHAR(255), optContent CHAR(255), number INT,

PRIMARY KEY(id), );

数据库创建后的结构图如下:

4.1.3.连接数据库

该系统使用了MySQL 的JDBC 驱动程序来连接数据库。因为对数据库的访问,在整个系统中比较频繁,所以我将对数据库的操作写成一个DBConnect 的类,通过该类来连接数据库和访问数据库。 //部分代码如下

public DBConnect() { try {

//加载数据库驱动程序

Class.forName(sDBDriver); //建立连接

conn = DriverManager.getConnection(sConnStr); catch (Exception e) { }

System.out.println("DBConnect():" + e.getMessage()); } }

4.2.功能的实现

投票流程图:

该流程图已经包含了在线投票系统的制作的主要方法。下面的工作实际上就是按照该流程图,写出具体的代码。在附录2 设计代码中有我开发的代码,并附有注释。所以在这里我就不展开介绍每一个功能的开发过程。

4.3.问题及解决

这部分应该写在开发中遇到了哪些问题,如何解决等。

第5部分 运行部分

5.1.系统的安装

该系统我在j2sdk1.4.1_01+resin-2.1.9+MySQL-4.0.12-nt环境下测试通过: 安装步骤:

该系统需要JSP 运行环境和MySQL 数据库,如果服务器还没有搭建的话请先搭建。 1. 把vote 、WEB-INF (vote 文件夹存放的是.jsp 文件,WEB-INF 存放的是该系统使用到的一些.class 文件)文件夹上传到你的主机目录。

2. 修改DBConnect.java 里连接MySQL 数据库的IP 、用户名和密码为你自己的IP,user, password 修改编译之后放到WEB-INF\classes\目录下面。

3.请创建数据库db70019517, 然后使用mysql db70019517

4.然后在浏览器输入URL :

(例如这是我的运行方法:http://127.0.0.1:8080/vote/index.jsp)。

5.2.系统的使用

为了直观,在这里我将主要通过程序运行截图来介绍该投票系统的使用。

☞ 在浏览器地址栏里输入在线投票系统的URL 后,将进入在线投票系统的首页。在首页

中显示了该系统的操作。

☞ 在首页中点击你所要进行的操作,即可打开相应的页面。如点击“单选投票”链接即可

打开单选投票页面。

☞ 在首页中点击“多选投票“链接,打开多选投票页面。

☞ 在首页中点击“在线投票“链接后,可以查看在线投票的结果

☞ 在首页中点击“投票设计“链接后,即可打开投票设计中的”增加主题“,同时你会看

到投票设计中的其它几项功能:删除主题、查看主题、修改主题、返回首页。增加主题的方法如下图所示:

☞ 在投票设计中点击“删除主题“链接后,即可打开删除主题页面。如果你要删除某个主

题以及其选项,只需在文本框中输入其ID 号即可。(如果你不知道待删除主题的ID 号你可以首先点击”查看主题“查看其ID 号。

☞ 在投票设计中点击“查看主题“链接后,即可打开查看主题页面。

☞ 在投票设计中点击“修改主题“链接后,即可打开修改主题页面。如果你要修改某个主

题以及其选项,只需在文本框中输入其主题名即可。(如果你不知道待修改主题的主题名你可以首先点击”查看主题“查看其主题名并复制主题名,然后将其粘贴到修改主题名的文本

框中,点查询即可打开相应的主题及其选项。

第6部分 附 录

附录1 运行环境 1.1硬件要求

1.2. 软件要求

要使用JSP ,在服务器端和客户端都必须有对应的运行环境。服务器主要是Servlet 兼容的Web 服务器,客户端主要是浏览器。

由于Java 具有跨平台的特点,所以只要能够安装JDK ,就能在此安装JSP 服务器。JSP 服务器能够运行在目前绝大多数的操作系统上,目前在普通用户中用到的系统绝大多数为Windows 系列和UNIX 系列。

附录2 设计代码 1.vote.jsp

在线投票

单选投票



type="checkbox"; }

2.result.jsp

投票结果

单选投票结果



String sql="select * from vote order by id ";

ResultSet rs=dbBean.executeQuery(sql);

String id;

id = request.getParameter("vote");

sql="update vote set number=number+1 where id="+id;

dbBean.executeQuery(sql);

ResultSet rs1,rstotal;

int questionNum=0,optType,id1,number,total=0;

String question,str,optContent;

sql="select * from vote where flag=0 and optType=0 order by id desc"; rs=dbBean.executeQuery(sql);

while(rs.next()){

questionNum++;

str="主题"+questionNum+":";

question=rs.getString("question");

optType=rs.getInt("optType");

%>

得票数:

" height=10>



返回主页

id=Integer.toString(rs.getInt("id")); sql="select * from vote where flag="+id; rstotal=dbBean.executeQuery(sql); //求得投票的总数 while(rstotal.next()){ number=rstotal.getInt("number"); total+=number; } sql="select * from vote where flag="+id; rs1=dbBean.executeQuery(sql); out.print("


"); //输出各选项的得票数 while(rs1.next()){ optContent=rs1.getString("optContent"); number=rs1.getInt("number"); out.print(str+question+"
"); id1=rs1.getInt("id");

3.add.jsp

String question=request.getParameter("question");

if(question==null){

question ="";

}

String type=request.getParameter("type");

int num=0,optType=0;

try{

num=Integer.parseInt(request.getParameter("num"));

}

catch(Exception e){}

%>

增加主题

增加主题



增加主题||删除主题|| 查看主题

|| 修改主题 ||返回首页



String submit1=request.getParameter("submit1"),str="",optContent,sql; int id;

if(submit1!=null){

sql="insert

into vote(flag,optType,question) values(0,"+optType+",'"+question+"')"; dbBean.executeUpdate(sql); sql="select * from vote order by id desc"; ResultSet rs=dbBean.executeQuery(sql); id=rs.getInt(1); for(int i=1;i

}

out.print("成功插入主题!");

}

%>

4.del.jsp

String id=request.getParameter("id");

String sql="delete from vote where id="+id ;

if(id!=null){

if(dbBean.executeUpdate(sql)){

}

%>

删除主题

out.print("删除记录成功。"); }

删除主题



增加主题||删除主题|| 查看主题

||修改主题 ||返回首页



5.display.jsp

查看主题

查看主题



增加主题||删除主题|| href="display.jsp">查看主题

||修改主题 ||返回首页



String sql="select * from vote";

ResultSet rs=dbBean.executeQuery(sql);

%>

while(rs.next()){

out.println("

");

}

%>

序号 标识
投票主题

投票选项

out.println("

"); out.println(""); out.println(""); out.println(""); out.println(""); out.println("");

6.modify.jsp

修改主题

修改主题



增加主题||删除主题|| 查看主题

||修改主题 ||返回首页

String submit,sql;

int id;

submit=request.getParameter("submit");

if(submit!=null){

String sql_s=request.getParameter("sql");

ResultSet rs,rs1;

int i=0;

if(sql_s!=null){

sql="select * from vote where question ='"+sql_s+"'";

rs=dbBean.executeQuery(sql);

id=rs.getInt("id");

%>

}

String submit1;

submit1=request.getParameter("submit1");

if(submit1!=null){

int count=Integer.parseInt(request.getParameter("count"));

int flag=Integer.parseInt(request.getParameter("id"));

String optType,optType1;

optType=request.getParameter("multiple");

if(optType==null)

optType1="0";

else{

optType1="1";

}

String question=request.getParameter("question");

sql="update vote set question='"+question

+"',optType= "+optType1+" where id="+flag;

if(dbBean.executeUpdate(sql)) out.print("更新主题成功!");

String optContent,optContent1,id1;

for(int i=0;i

optContent1="optContent"+i;

id1="id"+i;

id=Integer.parseInt(request.getParameter(id1));

optContent=request.getParameter(optContent1);

sql="update vote set optContent='"+optContent+"' where id="+id; dbBean.executeUpdate(sql);

}

}

%>

7. DBConnect.java

package vote;

import java.sql.*;

public class DBConnect {

//设置连接数据库的参数

private String user = "s70019618";

private String password = "s7001618";

//MySQL的JDBC 驱动程序

String sDBDriver = "org.gjt.mm.mysql.Driver";

//连接数据库

String sConnStr = "jdbc:mysql://localhost:3306/db70019618?user&password"; Connection conn = null;

Statement stmt = null;

ResultSet rs = null;

public DBConnect() {

try {

//加载数据库驱动程序

Class.forName(sDBDriver);

//建立连接

conn = DriverManager.getConnection(sConnStr);

}

catch (Exception e) {

System.out.println("DBConnect():" + e.getMessage());

}

}

//查询

public ResultSet executeQuery(String sql) {

try {

stmt = conn.createStatement();

rs = stmt.executeQuery(sql);

}

catch (SQLException ex) {

System.out.println("sql.executeQuery:" + ex.getMessage());

}

return rs;

}

//更新

public boolean executeUpdate(String sql){

try{

stmt = conn.createStatement();

stmt.executeUpdate(sql);

return true;

}catch (SQLException ex) {

System.out.println("sql.executeUpdate:" + ex.getMessage()); return false;

}

}

//关闭数据库的连接

public void close() throws Exception{

conn.close();

stmt.close();

}

}

"+rs.getInt("id")+" "+rs.getInt("flag")+" "+rs.getString("question")+" "+rs.getString("optContent")+" "+rs.getInt("number")+"
得 票 数

相关内容

  • 在线投票系统功能分析
  • 网上投票系统的功能 一. 功能概述 (1)客户模块 客户模块主要是添加投票项目信息,比如投票项目的题目,选项以及系统配置的要求. (2)新闻模块 新闻模块主要是一些关于本系统的新闻信息,其中包括新闻显示和添加删除模块. (3)留言薄模块 留言薄模块主要是投票者对于本系统提出问题,包括留言和管理员回复 ...

  • 网上手机销售系统毕业论文 [文档在线提供]
  • 论文题目:网上手机销售系统 目 录 中文摘要 .............................................. 3 ABSTRACT ............................................ 3 第一章 概述 ............... ...

  • 汽车销售网站毕业论文
  • 汽车销售网站论文 -1- 摘要 [摘要] 自从Web技术出现以来,网站的架构技术就成为了一个高速发展的热点.Internet的出现使企业拥有了一个商机无限的网络发展空间,许多传统的信息和数据库系统正在被移植以互联网上,电子 商务以其高效率.低成本的优势,逐步成为新兴的经营模式和理念,越来越多的企业开 ...

  • 网上鞋店的设计与实现
  • 科技职业技术学院 毕业论文 网上鞋店的设计与实现 姓名:指导教师:专业:系别:入学年份:设计时间: 计算机应用技术计算机工程系2009.92012.3 网上鞋店的设计与实现 摘要:本文讲述了基于B/S模式的运动鞋在线销售系统的设计与实现.所谓的运动鞋在线销售系统是通过网站推广互联企业的运动鞋和技术服 ...

  • 详细设计说明书
  • 详细设计说明书 1.引言 1.1编写目的 在详细设计中,可以参考概要设计说明书,在概要设计对系统所做的模块结构设计的基础上,对系统进行详细设计.在以后的软件测试以及软件维护阶段也可以参考此说明书,以便于了解在概要设计过程中完成的各模块设计结构,活在修改时找出在本极端设计的不足或错误. 1.2项目背景 ...

  • 软件测试教学网站详细设计
  • 西安郵電大学 软件测试教学网站 院系名称学生姓名专业名称班 级学 号 计算机学院 刘欢 软件工程 1104 04113115 : : : : : 一.引言 1.1编写目的 此概要设计说明书是为了说明整个系统的体系架构,以及需求用例的各个功能点在架构中的体现,为系统的详细设计进行详细设计时的输入参考文 ...

  • 文献检索课程报告
  • 文献检索课程报告 班级:理工计科1211 学号: 03 姓名:dreamkunk 一 选题简介 课程名称:C语言网络考试系统的开发与研究 C-language network test system development and research 课程分析:关键词:网络考试系统.试卷生成算法 ne ...

  • 毕业设计报告与任务书范例
  • No: 毕 业 设 计 报 告 课题: 系部: 班级: 软件 学号: 0718010XXX 学生: 张 三 指导教师: 李 四 装订交卷日期: 2 013.03.29 081 毕业设计报告要求双面打印,但此页为空白页,即封面的反面,为了自动双面打印使目录首页印在奇数页上,此空白页不能删.(打印前仅将 ...

  • 在线考试系统---毕业设计开题报告
  • 毕业设计开题报告 题 目 名 称 院 (系) 计算机科学学院专 业 班 级 XXXXXXXX 学 生 姓 名 指 导 教 师 辅 导 教 师 开题报告日期 2015年1月9日 在线考试系统设计 学 生:XXX ,计算机科学学院 指导老师:XXX ,计算机科学学院 一.题目来源 生产/社会实际等 二. ...