1

我的程序在乐队和 CD 乐队上查询 MySQL 数据库,并将查询作为结果集返回。我正在尝试将 CD 表查询的结果集存储到数组列表中,以便存储每张 CD 的标题和年份,然后通过 addCD(CD cd) 添加到当前乐队。我的 Band 类有一个 CD 对象数组列表,我的 CD 对象有一个字符串作为标题,int 表示年份。

4

1 回答 1

1

您可以在单个 SQL 查询中从 CD 表中选择 TITLE 和 YEAR 值,如下所示。然后 YEAR 将在结果集的 index(2) 处可用。使用包装类Integer将 YEAR 字符串转换为int.

rs = st.executeQuery("SELECT TITLE, YEAR FROM CD WHERE BAND_ID = " + i + ";");

// notice the name change below
Band band = new Band(name); // or, call this "b" to avoid name conflict

// Get the title of each CD for the current band
while (rs.next()) {
    band.addCD(
        new CD(rs.getString(1), Integer.parseInt(rs.getString(2))); // int year;
}

// Add a new band to the arraylist
bandList.add(band); // Added "List" to the name

我冒昧地改了几个名字。基本上,调用一个波段列表,bandList甚至bands使变量的目的比调用它band(单数)更清晰。

于 2013-05-28T21:37:16.813 回答