Java 如何使用循环从数据库(Mysql)中逐个检索行(值) int评分; sql=“从分数中选择分数”; rs=stmt.executeQuery(sql); 智力得分; while(rs.next()){ 对于(int i=0;i

Java 如何使用循环从数据库(Mysql)中逐个检索行(值) int评分; sql=“从分数中选择分数”; rs=stmt.executeQuery(sql); 智力得分; while(rs.next()){ 对于(int i=0;i,java,jdbc,Java,Jdbc,需要这段代码的帮助,我正在尝试将法官给出的分数(本例中为3名法官)分配给一个部门,分数存储在数据库中。问题是,每个分数都是由一个评委给一个部门三次打分的,但不应该是这样。事实上,每个法官都可以给一个部门打分。我想这是一个纯粹的嵌套循环问题,但我只是一个工程师学生,甚至不擅长计算机科学,我自己也无法理解。谢谢你的帮助 所以我应该每次检索一行而不是更多,仅此而已 这是代码的其余部分 int score; sql = "SELECT score FROM scores"; rs = stmt.exec

需要这段代码的帮助,我正在尝试将法官给出的分数(本例中为3名法官)分配给一个部门,分数存储在数据库中。问题是,每个分数都是由一个评委给一个部门三次打分的,但不应该是这样。事实上,每个法官都可以给一个部门打分。我想这是一个纯粹的嵌套循环问题,但我只是一个工程师学生,甚至不擅长计算机科学,我自己也无法理解。谢谢你的帮助

所以我应该每次检索一行而不是更多,仅此而已

这是代码的其余部分

int score;
sql = "SELECT score FROM scores";
rs = stmt.executeQuery(sql);
int score;

while (rs.next()) {
    for (int i = 0; i < al.getNumOfDepartments(); i++) {
        Department a = al.getDepartment(i);

        for (int j = 0; j < jl.getNumOfJudges(); j++) {
            score = rs.getInt("score");
            Judge member = jl.getJudge(j);
            Score s = new Score(score, member);
            a.addScore(s);
        }
    }
}
packagemain;
导入java.awt.event.ActionEvent;
导入java.awt.event.ActionListener;
导入java.sql.*;
导入java.util.List;
导入java.util.ArrayList;
导入javax.swing.JOptionPane;
进口型号:Afdeling;
导入model.AfdelingenLijst;
导入model.JuryLedenLijst;
导入model.juryld;
导入模型。评分;
公共类afdelingenJuryledenScoresLezen实现ActionListener{
静态最终字符串JDBC_DRIVER=“com.mysql.JDBC.DRIVER”;
静态最终字符串DB_URL=“jdbc:mysql://localhost/Audit";
静态最终字符串USER=“root”;
静态最终字符串PASS=“root”;
AfdelingenLijst al;
JuryLedenLijst jl;
朱利德盖;
公共afdelingenJuryledenScoresLezen(AfdelingenLijst al,JuryLedenLijst jl)
{
this.al=al;
这个.jl=jl;
}
已执行的公共无效操作(操作事件e){
连接conn=null;
语句stmt=null;
试一试{
Class.forName(“com.mysql.jdbc.Driver”);
conn=DriverManager.getConnection(DB_URL,USER,PASS);
stmt=conn.createStatement();
字符串sql;
sql=“选择ID,从Afdelingen开始Afdeling”;
结果集rs=stmt.executeQuery(sql);
int-ID;
字符串naam;
while(rs.next())
{
ID=rs.getInt(“ID”);
naam=rs.getString(“Afdeling”);
Afdeling a=新Afdeling(ID,naam);
al.voegAfdelingToe(a);
}
sql=“从Juryleden中选择ID、JuryId”;
rs=stmt.executeQuery(sql);
int-id;
字符串jurylid;
while(rs.next())
{
id=rs.getInt(“id”);
jurylid=rs.getString(“jurylid”);
JuryLid lid=新的JuryLid(id,JuryLid);
jl.voegjuryldtoe(盖子);
}
sql=“从分数中选择分数”;
rs=stmt.executeQuery(sql);
智力得分;
while(rs.next()){

对于(int i=0;i请发布一篇文章,您可以将函数和变量名更改为英文,这将更容易帮助..事实上,您将在第二次循环中循环相当于jl.getAantalJuryLeden的次数,不确定它是什么,请注意
“需要此代码的帮助”
对于StackOverflow问题来说是一个糟糕的标题,因为它告诉我们没有任何用处。我们已经知道您“需要帮助”用你的代码,否则你不会问一个问题。在未来,请考虑使用更多的信息标题标题,总结你的实际问题。这样做将有助于你得到更好的帮助。也请浏览和查看如何更好地使用这个网站。对不起,如果我的帖子很难跟上,这是我的第一个。Stackoverflow的经验我将尝试以更好的方式解释它。
package main;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import java.util.List;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import model.Afdeling;
import model.AfdelingenLijst;
import model.JuryLedenLijst;
import model.JuryLid;
import model.Score;
public class afdelingenJuryledenScoresLezen implements ActionListener {

    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    static final String DB_URL = "jdbc:mysql://localhost/Audit";
    static final String USER = "root";
    static final String PASS = "root";
     AfdelingenLijst al;
     JuryLedenLijst jl;
     JuryLid lid;

     public afdelingenJuryledenScoresLezen(AfdelingenLijst al, JuryLedenLijst jl) 
        {
         this.al = al;
         this.jl=jl;
        }
            public void actionPerformed(ActionEvent e){


        Connection conn = null;
        Statement stmt = null;

        try{

            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection(DB_URL, USER, PASS);
            stmt = conn.createStatement();
            String sql;
            sql = "SELECT ID, Afdeling FROM Afdelingen";
            ResultSet rs = stmt.executeQuery(sql);
            int ID;
            String naam;
            while (rs.next())
             {
                ID = rs.getInt("ID");
                naam = rs.getString("Afdeling");
                Afdeling a = new Afdeling(ID, naam);
                al.voegAfdelingToe(a);
             }


            sql = "SELECT ID, Jurylid FROM Juryleden";
            rs = stmt.executeQuery(sql);
            int id;
            String jurylid;
            while (rs.next())
             {
                id = rs.getInt("ID");
                jurylid = rs.getString("Jurylid");
                JuryLid lid = new JuryLid(id, jurylid);
                jl.voegJuryLidToe(lid);
             }
            sql = "SELECT score FROM scores";
            rs = stmt.executeQuery(sql);
            int score;
            while (rs.next()){
            for (int i=0; i<al.getAantalAfdelingen(); i++){
                        Afdeling a = al.getAfdeling(i);
                        for (int j=0; j<jl.getAantalJuryLeden(); j++)
                        {
                        score= rs.getInt("score");
                        JuryLid lid = jl.getJuryLid(j);
                        Score s = new Score(score, lid);
                        a.voegScoreToe(s);
                    }
                }
            }

            al.setAfdelingen(al.getAfdelingen());

            rs.beforeFirst();

            rs.close();
            stmt.close();
            conn.close();

            if (stmt != null)
                stmt.close();

            if (conn != null)
                conn.close();

            System.out.println("\nGoodbye!");
         }
         catch (Exception ex) {}
        }
      }