2013-05-28 5 views
1

Моя программа запрашивает базу данных MySQL в полосе и группе CD и возвращает запрос в виде набора результатов. Я пытаюсь сохранить результат набора запроса таблицы CD в arraylist, чтобы заголовок и Год каждого CD был сохранен, а затем добавлен в текущий диапазон через addCD (CD cd). Класс My Band имеет arraylist объектов CD, а мои объекты CD имеют строку для заголовка и int для года.Сохранение результатов в arraylist Java

+1

Не могу найти вопрос. Кроме того, 'public Database {' является ошибкой компилятора ... – jlordo

ответ

1

Вы можете выбрать значения TITLE и YEAR из таблицы CD в одном SQL-запросе, как показано ниже. ГОД затем станет доступен по индексу (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 (единственное число).

+0

@ user1352609 Спасибо, что согласились. Извините, что беспокою вас об этом в тот день. Я был в количестве 195 каждый день и мог выиграть значок [Mortartboard] (http://stackoverflow.com/badges/144/mortarboard). Я был слишком озабочен. –

Смежные вопросы