2017-02-10 35 views
0

我已經創建了這個算法,其中兩個隊burnleymanchester_united正在玩的比賽,他們的得分目標取決於他們的球員overall這是在表中給出。爲什麼表沒有得到更新在mysql

我有這兩個表:

  • manchester_united:列名=號碼,姓名,總體而言,目標
  • burnley:列名=號碼,姓名,總體而言,目標

當我正在執行我的代碼,它在瀏覽器中顯示更新後的值,但數據庫表中的列goals未更新值。

下面是我的servlet代碼:

import java.io.IOException; 
import java.io.PrintWriter; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import java.sql.*; 
import java.util.Random; 


public class gg extends HttpServlet { 


    protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
     response.setContentType("text/html;charset=UTF-8"); 
     PrintWriter out = response.getWriter(); 
     int a[]=new int[11]; 
     int b[]=new int[11]; 
     int count1=0 ,count2=0; 
     String up; 
     int goals1[]= new int[11]; 
int goals2[]=new int[11]; 

     Random rand = new Random(); 
     int x=0,y=0; 
     int player1=0,player2=0; 

Statement stmt=null; 
String sql3[] =new String[21]; 
String sql4[] =new String[21]; 

String sql1="select * from manchester_united";   
try{ 
Class.forName("com.mysql.jdbc.Driver"); 
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/log","root","root"); 
stmt=con.createStatement(); 
    ResultSet rs=stmt.executeQuery(sql1); 
    while (rs.next()) 
    { 
     a[count1]=rs.getInt("overall"); 
     goals1[count1]=rs.getInt("goals"); 
     out.println("<br>"); 
     out.println("a["+(count1+1)+"] = "+a[count1]+" "); 
     out.println("<br>"); 
     out.println("goals1["+(count1+1)+"] = "+goals1[count1]+" "); 
     count1++; 
    } 
//count=0;  

out.println("<br>"); 
out.println("<br>"); 

String sql2="select * from burnley"; 
//stmt=con.createStatement(); 
    rs=stmt.executeQuery(sql2); 
    while(rs.next()) 
    { 
     b[count2]=rs.getInt("overall"); 
     goals2[count2]=rs.getInt("goals"); 
     out.println("<br>"); 
     out.println("b["+(count2+1)+"] = "+b[count2]+" "); 
     out.println("<br>"); 
     out.println("goals2["+(count2+1)+"] = "+goals2[count2]+" "); 
     count2++; 
    } 


    for (int i=0;i<11;i++) 
     { 
      player1=rand.nextInt(11); 
      player2=rand.nextInt(11); 

     if (a[player1]>b[player2]) 
     { 
      int goal=rand.nextInt(10)+1; 

      if (a[player1]>=90) 
      { 
       if (goal==1 || goal==2 ||goal==4 || goal==5 ||goal==7 || goal==8 ||goal==9 || goal==10) 
       { 
        x=x+1; 

         goals1[player1]++; 
         sql3[i]="UPDATE `manchester_united` SET `goals`=? WHERE `number`=?"; 
         PreparedStatement ps = con.prepareStatement(sql3[i]); 
         ps.setInt(1,goals1[player1]); 
         ps.setInt(2,player1); 

       } 
      } 
      else if (a[player1]>=80 && a[player1]<90) 
      { 
       if (goal==1 || goal==2 || goal==4 || goal==5 || goal==7 || goal==9 || goal==10) 
       { 
        x=x+1; 

         goals1[player1]++; 
         sql3[i]="UPDATE `manchester_united` SET `goals`=? WHERE `number`=?"; 
         PreparedStatement ps = con.prepareStatement(sql3[i]); 
         ps.setInt(1,goals1[player1]); 
         ps.setInt(2,player1); 
       } 
      } 
      else if (a[player1]>=70 && a[player1]<80) 
      { 
       if (goal==1 || goal==2 || goal==4 || goal==7 || goal==8 || goal==10) 
       { 
        x=x+1; 

        goals1[player1]++; 
         sql3[i]="UPDATE `manchester_united` SET `goals`=? WHERE `number`=?"; 
         PreparedStatement ps = con.prepareStatement(sql3[i]); 
         ps.setInt(1,goals1[player1]); 
         ps.setInt(2,player1); 
       } 
      } 
      else if (a[player1]>=60 && a[player1]<70) 
      { 
       if (goal==1 || goal==2 ||goal==5 || goal==8 ||goal==9) 
       { 
        x=x+1; 

        goals1[player1]++; 
         sql3[i]="UPDATE `manchester_united` SET `goals`=? WHERE `number`=?"; 
         PreparedStatement ps = con.prepareStatement(sql3[i]); 
         ps.setInt(1,goals1[player1]); 
         ps.setInt(2,player1); 
       } 
      } 
      else if (a[player1]>=50 && a[player1]<60) 
      { 
       if (goal==1 ||goal==4 || goal==5 || goal==8) 
       { 
        x=x+1; 

        goals1[player1]++; 
         sql3[i]="UPDATE `manchester_united` SET `goals`=? WHERE `number`=?"; 
         PreparedStatement ps = con.prepareStatement(sql3[i]); 
         ps.setInt(1,goals1[player1]); 
         ps.setInt(2,player1); 

       } 
      } 
      else 
      { 
       if (goal==1 || goal==5 || goal==7) 
       { 
        x=x+1; 

        goals1[player1]++; 
         sql3[i]="UPDATE `manchester_united` SET `goals`=? WHERE `number`=?"; 
         PreparedStatement ps = con.prepareStatement(sql3[i]); 
         ps.setInt(1,goals1[player1]); 
         ps.setInt(2,player1); 
       } 
      } 

     } 


     else 
     { 
      int goal=rand.nextInt(10)+1; 

      if (b[player2]>=90) 
      { 
       if (goal==1 || goal==2 ||goal==4 || goal==5 ||goal==7 || goal==8 ||goal==9 || goal==10) 
       { 
        y=y+1; 

        goals2[player2]++; 
         sql4[i]="UPDATE `burnley` SET `goals`=? WHERE `number`=?"; 
         PreparedStatement ps = con.prepareStatement(sql4[i]); 
         ps.setInt(1,goals2[player2]); 
         ps.setInt(2,player2); 
       } 
      } 
      else if (b[player2]>=80 && b[player2]<90) 
      { 
       if (goal==1 || goal==2 || goal==4 || goal==5 || goal==7 || goal==9 || goal==10) 
       { 
        y=y+1; 

        goals2[player2]++; 
         sql4[i]="UPDATE `burnley` SET `goals`=? WHERE `number`=?"; 
         PreparedStatement ps = con.prepareStatement(sql4[i]); 
         ps.setInt(1,goals2[player2]); 
         ps.setInt(2,player2); 
       } 
      } 
      else if (b[player2]>=70 && b[player2]<80) 
      { 
       if (goal==1 || goal==2 || goal==4 || goal==7 || goal==8 || goal==10) 
       { 
        y=y+1; 

        goals2[player2]++; 
         sql4[i]="UPDATE `burnley` SET `goals`=? WHERE `number`=?"; 
         PreparedStatement ps = con.prepareStatement(sql4[i]); 
         ps.setInt(1,goals2[player2]); 
         ps.setInt(2,player2); 
       } 
      } 
      else if (b[player2]>=60 && b[player2]<70) 
      { 
       if (goal==1 || goal==2 ||goal==5 || goal==8 ||goal==9) 
       { 
        y=y+1; 

        goals2[player2]++; 
         sql4[i]="UPDATE `burnley` SET `goals`=? WHERE `number`=?"; 
         PreparedStatement ps = con.prepareStatement(sql4[i]); 
         ps.setInt(1,goals2[player2]); 
         ps.setInt(2,player2); 
       } 
      } 
      else if (b[player2]>=50 && b[player2]<60) 
      { 
       if (goal==1 ||goal==4 || goal==5 || goal==8) 
       { 
        y=y+1; 

        goals2[player2]++; 
         sql4[i]="UPDATE `burnley` SET `goals`=? WHERE `number`=?"; 
         PreparedStatement ps = con.prepareStatement(sql4[i]); 
         ps.setInt(1,goals2[player2]); 
         ps.setInt(2,player2); 
       } 
      } 
      else 
      { 
       if (goal==1 || goal==5 || goal==7) 
       { 
        y=y+1; 

        goals2[player2]++; 
         sql4[i]="UPDATE `burnley` SET `goals`=? WHERE `number`=?"; 
         PreparedStatement ps = con.prepareStatement(sql4[i]); 
         ps.setInt(1,goals2[player2]); 
         ps.setInt(2,player2); 
       } 
      } 

     } 

     } 




} 
catch (Exception e) 
     { 
      e.printStackTrace(); 
     } 

out.println("<br>"); 

     out.println("Team1= "+x+" and Team2= "+y+"<br>"); 

     for(int j=0;j<11;j++) 
     { 
     out.println("<br>goals1= "+goals1[j]+" and goals2= "+goals2[j]); 

     } 
    } 





    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
     processRequest(request, response); 
    } 



} 
+2

準備好更新查詢時使用'executeUpdate()',只是準備查詢並不意味着它被執行。 –

+2

你沒有執行你的更新語句。 –

+2

'我有這兩張桌子'哦親愛的 – Strawberry

回答

0

您需要添加executeUpdate()實際更新數據。