网站客户端制作

网球管理系统客户端制作:

重点1:选手报名。

选手报名比赛需要两个条件,一个是选手的ID,另一个是比赛的ID;

选手ID得到方法:在选手通过登录系统时,将选手的用户名放入session中,这样就能的到选手的用户名,然后写一个方法1(),通过数据库查询,得到选手的ID;

方法1()代码如下:

public int getId(String username) {
  // TODO Auto-generated method stub
  int competitorId = 0;
  Connection conn = DBOperator.getConnection();
     Statement st = null;
     ResultSet rs = null;
     String sql = "select id from competitor where username = '"+username+"'";
        try {
   st = conn.createStatement();
    rs = st.executeQuery(sql);
          while(rs.next()){
              competitorId=rs.getInt("id");
          }
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
        finally{
         DBOperator.close(rs, st, conn);
        }
  return competitorId;
 }

得到比赛ID的方法:

参加比赛,肯定是在有比赛信息的界面,进行报名,既然有了比赛信息,直接通过getId();方法得到;

然后讲的到两个参数(选手ID,比赛ID),传给你添加比赛的方法,向数据库中添加数据,选手即可报名成功。

重点2:每一场比赛都有报名人数限制,而我们想要知道与多少选手报名,这就需要,每当有一位选手报名成功,让报名人数加1,这样我们就可以知道有多少选手报名。方法有很多,我就说一下自己的,有需要可以看一下:

代码如下:

public boolean updatePersionNum(int persionNum,int id) {
  boolean flag = false;
  // TODO Auto-generated method stub
  Connection conn = DBOperator.getConnection();
  PreparedStatement pst = null;
  String sql = "update game set persionNum=? where id =?";
  try {
   pst = conn.prepareStatement(sql);
   pst.setInt(1, persionNum+1);
   pst.setInt(2, id);
   flag = pst.execute();
   
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  
  finally{
   DBOperator.close(pst, conn);
  }
  return flag;
 }

在每有一次选手报名成功后,调用这个方法,报名人数就能自动更新。

重点三:在已报名人报名满之后,如果再有选手报名我们应该提示,报名人数已满。

写一个方法,查看数据库,得到已报名人数和最大报名人数,对它们进行比较判断是否还能够报名。

方法代码如下:

public boolean bijiao(int competitorNum, int persionNum) {
  // TODO Auto-generated method stub
  boolean flagone = false;
  if(persionNum == competitorNum){
   flagone = true;
  }
  return flagone;
 }

重点四:

在一名选手报名成功后,如果不小心又点击了一次报名,这时候应该提示选手已报名,不能重复报名。


方法代码如下:

public boolean find(int gameId, int competitorId) {
  // TODO Auto-generated method stub
  boolean flagtwo = false;
  GamePersion gp = new GamePersion();
  Connection conn = DBOperator.getConnection();
  Statement st = null;
  ResultSet rs = null;
  String sql = "select * from gamepersion where gameId='"+gameId+"'&&competitorId='"+competitorId+"'";
  try {
   st = conn.createStatement();
   rs = st.executeQuery(sql);
   while(rs.next()){
    flagtwo = true;
   }
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  finally{
   DBOperator.close(rs, st, conn);
  }
  return flagtwo;
 }

这样一个基本的比赛报名系统应该就没有问题了。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值