Witam serdecznie,
mam pytanko :)
Chciałabym wczytać kolumny z wartościami (znajdują się one w odpowiednich arkuszach), są one zapisane w pliku excla (*.xls) do MS Access, w momencie zaznaczenia jCheckBox1 . Odczytać te wartości potrafię :) a także wczytać wartości na sztywno do bazy danych MS Access :).
Tylko nie udaje mi się dodać do MS Access, już odczytanej kolumny z pliku *.xls :(
tabela MS Access:
test (id, test, test2)
Obsługa *jCheckBox1 * przedstawia się w ten sposób:
private void jCheckBox1ItemStateChanged(java.awt.event.ItemEvent evt) {
Workbook scieszka_do_pliku= null;
try {
scieszka_do_pliku = Workbook.getWorkbook(new File("scieszka_do_pliku.xls"));
Sheet arkusz_1 = scieszka_do_pliku.getSheet(2);
//odczyt i wyświetlenie
System.out.println("id, test, test2");
for (int i = 1; i < 16; i++) {
Cell id = arkusz_1.getCell(0, i); // parametry metody getCell (kolumna, wiersz)
Cell test = arkusz_1.getCell(1, i);
Cell test2 = arkusz_1.getCell(2, i);
// String test= String.valueOf(test.getContents()); Wydaje mi się, że tą zmienną powinnam wczytać.... //test//?
System.out.println(i + " " + id.getContents()
+ " " + test.getContents()
+ " " + test2.getContents());
}
} catch (IOException ex) {
Logger.getLogger(Aplikacja.class.getName()).log(Level.SEVERE, null, ex);
} catch (BiffException ex) {
Logger.getLogger(Aplikacja.class.getName()).log(Level.SEVERE, null, ex);
}
scieszka_do_pliku.close();
System.out.println("Odczyt zakończony sukcesem.");
/*
Connection con = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:ola");
Statement sta = con.createStatement();
int count = 0;
int c = sta.executeUpdate("INSERT INTO test"
+ " (id)"
+ " VALUES (2)");
count = count + c;
System.out.println("Number of rows inserted: " + count);
sta.close();
con.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
*/
}
tylko podczas zaznaczenia *jCheckBox1 * nie działają mi te dwa wyjątki za jednym razem :( Dlatego jest za komentowane dodawanie do MS Access, ale jak je od komentuje a za komentuje czytanie z pliku to będzie dodawać do bazy danych.
jak umieszczę dodawanie wewnątrz
try {
//... wyświetlanie jak powyżej
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:ola");
Statement sta = con.createStatement();
System.out.println("rrr " );
int count = 0;
int c = sta.executeUpdate("INSERT INTO capio_koszty"
+ " (ck_id)"
+ " VALUES (7)"); // tu ją wczytać ..
count = count + c;
System.out.println("Number of rows inserted: " + count);
sta.close();
con.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
pojawia mi się komunikat błędu:
//Message
15
ok//
Nawet nie wyświetla:
System.out.println("rrr " );
Prosiłabym uprzejmie o wskazówkę jak dodać zmienną test
String test= String.valueOf(test.getContents());
do MS Access?