【问题标题】:how to get all rows in one column using jdbc如何使用jdbc获取一列中的所有行
【发布时间】:2016-08-17 10:53:20
【问题描述】:

我的团队表 id 和团队名称中有 2 列

这是我的方法

public List<String> getallteams() {
    Connection conn = null;
    ArrayList users = new ArrayList();
    List<String> teams = new ArrayList();
    try {
        conn = DBConnection.openConnection();

        String sql = " SELECT * FROM teams  ";


        PreparedStatement stmt = conn.prepareStatement(sql);

        ResultSet rs = stmt.executeQuery();

        while (rs.next()) {

            String t1 = rs.getString(1);
            String t2 = rs.getString(2);
            String t3 = rs.getString(3);
            String t4 = rs.getString(4);
            String t5 = rs.getString(5);
            String t6 = rs.getString(6);


            String[] finalresult1 = {t1,t2,t3,t4,t5,t6 };



            teams = Arrays.asList(finalresult1);


                System.out.println(teams.get(1));
        }

    } catch (SQLException ex) {
        Logger.getLogger(UsersDaoImp.class.getName()).log(Level.SEVERE, null, ex);

    } finally {

        DBConnection.closeConnection(conn);
    }

    return teams;

}

我是 mysqli 新手,所以在这里有点挣扎

但它给了我 java.sql.SQLException: Column Index out of range, 2 > 1 error

【问题讨论】:

  • 你需要学会调试你的代码,然后你可以逐行单步调试它,看看发生了什么。您的表中没有 6 列。这是肯定的。你的代码有很多问题。
  • 您的表格没有您的代码建议的 6 列。实际上,根据错误消息,该表似乎只有 one 列。显示表定义并解释您要完成的任务。

标签: java mysql jdbc


【解决方案1】:

您刚刚说“我有 2 列”(id 和名称),所以不要尝试检索第 3、4、5 和 6 列。

while (rs.next()) {
    String id   = rs.getString(1);
    String name = rs.getString(2);
    System.out.println("id=" + id + ", name=" + name);
}

如果第二列名为 teamname,并且您想要所有团队名称的列表,请执行以下操作:

List<String> teams = new ArrayList<>();
try (Connection conn = DBConnection.openConnection()) {
    String sql = "SELECT teamname FROM teams";
    try (PreparedStatement stmt = conn.prepareStatement(sql);
         ResultSet rs = stmt.executeQuery()) {
        while (rs.next()) {
            teams.add(rs.getString("teamname"));
        }
    }
}

System.out.println("First team: " + teams.get(1));

【讨论】:

    猜你喜欢
    • 2014-09-16
    • 2020-02-18
    • 2012-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-09
    • 1970-01-01
    相关资源
    最近更新 更多