vote.jsp
上传用户:shjgzm
上传日期:2017-08-31
资源大小:2757k
文件大小:2k
源码类别:

Ajax

开发平台:

Java

  1. <%@ page contentType="text/html; charset=UTF-8"%>
  2. <%@ page language="java"%>
  3. <%@ page import="java.sql.*,ajax.db.DBUtils"%>
  4. <%
  5.     out.clear();                                                //清空当前的输出内容(空格和换行符)
  6.     String id = request.getParameter("id");                     //获取产品id
  7.     String diamonds = request.getParameter("diamonds");         //获取投票钻石数
  8.     StringBuffer info = new StringBuffer("{'id':" + id + ",");  //用于保存返回结果信息(JSON格式)
  9.     //定义更新数据库的SQL语句
  10.     String sql = "update rating set totaltimes = totaltimes + 1, totaldiamonds = totaldiamonds + ? where id = ?";
  11.     String sql2 = "select * from rating where id = ?";//定义查询数据库的SQL语句
  12.     Connection conn = null;                         //声明Connection对象
  13.     PreparedStatement pstmt = null;                 //声明PreparedStatement对象
  14.     ResultSet rs = null;                            //声明ResultSet对象
  15.     try {
  16.         conn = DBUtils.getConnection();             //获取数据库连接
  17.         pstmt = conn.prepareStatement(sql);         //根据sql创建PreparedStatement
  18.         pstmt.setInt(1, Integer.parseInt(diamonds));//设置钻石数
  19.         pstmt.setInt(2, Integer.parseInt(id));      //设置id
  20.         pstmt.executeUpdate();                      //执行更新
  21.         pstmt.close();                              //关闭PreparedStatement
  22.         pstmt = conn.prepareStatement(sql2);        //创建查询PreparedStatement
  23.         pstmt.setInt(1, Integer.parseInt(id));      //设置参数
  24.         rs = pstmt.executeQuery();                  //执行查询,返回结果集
  25.         if (rs.next()) {
  26.             info.append("'totaltimes':" + rs.getInt("totaltimes") + ",");
  27.             info.append("'totaldiamonds':" + rs.getInt("totaldiamonds"));
  28.         }
  29.     } catch (SQLException e) {
  30.         System.out.println(e.toString());
  31.     } finally {
  32.         DBUtils.close(rs);                  //关闭结果集
  33.         DBUtils.close(pstmt);               //关闭PreparedStatement
  34.         DBUtils.close(conn);                //关闭连接
  35.     }
  36.     info.append("}");
  37.     out.print(info.toString());             //输出投票结果信息
  38. %>