📄 vote.txt
字号:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<HTML>
<BODY>
<%!
int total=0; //记录总票数的变量
synchronized void countTotal() //操作总票数的同步方法
{
total++;
}
%>
<%
Connection con=null;
Statement sql=null;
ResultSet rs=null;
boolean vote=true; //决定用户是否有权投票的变量
String name=""; //得到被选择的候选人名字
name=request.getParameter("name");
if(name==null)
{
name="?";
}
byte a[]=name.getBytes("ISO-8859-1");
name=new String(a);
String IP=(String)request.getRemoteAddr();//得到投票人的IP地址
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载驱动程序
}
catch(ClassNotFoundException e)
{}
//首先查询IP表,判断投票客户的IP地址是否已经投过票
try{
con=DriverManager.getConnection("jdbc:odbc:grade","","");
sql=con.createStatement();
rs=sql.executeQuery("SELECT * FROM ip WHERE ip = "+"'"+IP+"'");
int row=0;
while(rs.next())
{
row++;
}
if(row>=1)
{
vote=false; //不允许投票
}
}
catch(SQLException e)
{}
if(name.equals("?"))
{
out.print("您没有投票,没有权利看选举结果");
}
else
{
if(vote)
{
out.print("您投了一票");
countTotal(); //将总票数加1
//给该候选人增加一票,同时将自己的IP地址写入数据库
try
{
rs=sql.executeQuery("SELECT * FROM candidate WHERE name="+"'"+name+"'");
rs.next();
int count=rs.getInt("count");
count++;
String condition=
"UPDATE candidate SET count = "+count+" WHERE name="+"'"+name+"'";
//执行更新操作(投票计数)
sql.executeUpdate(condition);
//将IP地址写入IP表
String to=
"INSERT INTO ip VALUES"+"("+"'"+IP+"'"+")";
sql.executeUpdate(to);
}
catch(SQLException e)
{
out.print(""+e);
}
//显示投票后的表中的记录
try{
rs=sql.executeQuery("SELECT * FROM candidate ");
out.print("<Table Border>");
out.print("<TR>");
out.print("<TH width=100>"+"姓名"+"</th>");
out.print("<TH width=100>"+"得票数"+"</th>");
out.print("<TH width=100>"+"总票数:"+"</th>");
out.print("</TR>");
while(rs.next())
{
out.print("<TR>");
out.print("<TD>"+rs.getString(1)+"</TD>");
int count=rs.getInt("count");
out.print("<TD>"+count+"</TD>");
double b=(count*100)/total; //得票的百分比。
out.print("<TD>"+b+"%"+"</TD>");
out.print("</TR>");
}
out.print("</Table>");
con.close();
}
catch(SQLException e)
{}
}
else
{
out.print("您已经投过票了");
}
}
%>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -