mysql - Netbeans 将查询中的数据放入变量中

标签 mysql sql netbeans

所以我做了一个查询,这是一个内连接,查询没问题。但我想将从数据库中选择的数据放入其他类的变量中。

你看到代码

 Spel spel = null;
 spel.setNaamSpel(spelUniekeNaam);

我并没有为所有人做到这一点,但是这是正确的方法吗?

  public void laadSpel(String spelNaam)
{
    String LAAD_SPELERS_SQL = "SELECT spel.naam, spel.aantalTeSpelenRondes, speler.naam, speler.kleur, speler.sector, speler.aantalZilverstukken, spelbord.type, spelbord.ecoWaarde, spelbord.stratWaarde, "
            + "spelbord.xcoord, spelbord.ycoord, spelbord.aantalKamelen, spelbord.kleur" +
        "From spel INNER JOIN speler ON spel.naam = speler.Spel_naam" +
                "INNER JOIN spelbord ON spel.naam = spelbord.Spel_naam" +
            "WHERE spel.naam = '" + spelNaam + "'";



    Statement statement;
    Connection connection = PersistentieController.getInstance().getConnection();


    try
    {
        statement = connection.createStatement();
        ResultSet resultset = statement.executeQuery(LAAD_SPELERS_SQL);

        while (resultset.next())
        {
           String spelUniekeNaam = resultset.getString("spel.naam");
           String spelAantalRondes = resultset.getString("spel.aantalTeSpelenRondes");
           String spelerNaam = resultset.getString("speler.naam");
           String spelerKleur = resultset.getString("speler.kleur");
           int spelerSector = resultset.getInt("speler.sector");
           int spelerKrediet = resultset.getInt("speler.aantalZilverstukken");
           String spelbordType = resultset.getString("spelbord.type");
           int spelbordEco = resultset.getInt("spelbord.ecoWaarde");
           int spelbordStrat = resultset.getInt("spelbord.stratWaarde");
           int spelbordX = resultset.getInt("spelbord.xcoord");
           int spelbordY = resultset.getInt("spelbord.ycoord");
           int spelbordAantalKamelen = resultset.getInt(("spelbord.aantalKamelen"));
           String spelbordKleur = resultset.getString("spelbord.kleur");

           Spel spel = null;
           spel.setNaamSpel(spelUniekeNaam);


        }

         statement.close();

    } catch (SQLException e)

    {
        e.printStackTrace();
     }
  }

最佳答案

没有。

  1. 您的其他类 Spel 变量不会出现在 while 循环之外。
  2. spelUniekeNaam 将被结果集中遍历的每条新记录覆盖。
  3. 请避免在 SQL 查询中使用字符串连接,正如我在之前的文章 here 中指出的那样。这只是要求进行 SQL 注入(inject)攻击。

关于mysql - Netbeans 将查询中的数据放入变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23792616/

相关文章:

mysql - 为什么 MySQL COUNT 在计算连接列时返回的结果是我预期的两倍?

php - 如果使用 codeigniter 某些列为空,则查询不显示结果

php - 将 URL 重定向到正确的用户页面

SQL创建数据库时授予其他用户db_owner

java - 已注册的 Tomcat 服务器未出现在 netbeans 中

java - 字段验证不起作用

mysql - perl - 如果列词丢失则插入值

c# - 如何确定网站管理员?

python - Django:选择列的总和等于某个常数的位置

Netbeans 自动完成停止工作?