Я работаю с java в eclipse. Я пытаюсь взять 2 переменные из своей базы данных и записать их в excel.My только проблема возвращает 2 разных значения (целое число и строку) из db читайте метод и отправляйте его в метод excel writer, который находится в разных классах. Вот мой читатель дб класс:возвращает 2 разных значения
public class DbConnection {
public void createConnection(String choice) {
try {
String myDriver = "com.mysql.jdbc.Driver";
String db = "jdbc:mysql://localhost/digiturkschema";
Class.forName(myDriver);
Connection conn = DriverManager.getConnection(db, "root",
"*****");
Statement st = conn.createStatement();
switch (choice) {
case "write":
ResultSet rs = st.executeQuery("SELECT * FROM channelstable");
while (rs.next()) {
int channelId = rs.getInt("channelNo");
String channelName = rs.getString("channelName");
}
}
} catch (Exception exception) {
System.out.print(exception.getStackTrace());
}
}
}
Мне нужно вернуть «channelId» и «Channelname» от этого метода к этому методу:
public class WritingToExcel {
public void Write() throws IOException {
try {
JFileChooser f = new JFileChooser();
f.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
f.showSaveDialog(null);
System.out.println(f.getCurrentDirectory());
System.out.println(f.getSelectedFile());
String direction = f.getSelectedFile().toString() + "\\DigiTurkKanalListesi.xls";
WritableWorkbook workbook = Workbook.createWorkbook(new File(direction));
WritableSheet sheet = workbook.createSheet("Kanal Listesi", 0);
Label label = new Label(0, 0, "A label record");
sheet.addCell(label);
Number number = new Number(2, 1, 3.1459);
sheet.addCell(number);
workbook.write();
workbook.close();
} catch (WriteException e) {
e.getStackTrace();
}
}}
Я знаю, что writingToExcel класс не завершен, и это хорошо, я могу закончить его, если я могу взять эти две переменные в этот класс. Так я использую шаблон MVC, поэтому у меня есть класс контроллера между ними. Я могу написать его, если это необходимо.
Является ли 'channelId' всегда уникальным? Если это так, вы можете сохранить их в «Map» и передать это. –
Ascalonian
Да, это уникально и pk таблицы. Я буду искать с помощью карты <>. Спасибо за вашу идею :) –
Если заказ не имеет значения, используйте 'HashMap'. Если заказ имеет значение, используйте 'LinkedHashMap'. Карта - это сочетание значений ключа. Таким образом, ваш ключ будет каналом, и значение будет channelName. – Ascalonian