Dane z bazy do pliku .pdf

0

Chciałbym tabelę z mojej bazy danych przedstawić w pliku .pdf
używam iText do generowania pdf-a

Jaki byście doradzali sposób żeby ściągnąć dane z danej tabeli w bazie i żeby móc się wówczas do nich dowolnie odwoływać.

np. mam taką tabelkę

imię | nazwisko | wartosc_netto | podatek_vat | wartosc_brutto
i np. mielibyśmy w niej takie dane

Jan, Kowalski, 150, 0.23, 184.5
Adam, Nowak, 100, 0.23, 123

i teraz chcę to w czymś zapisać żebym później mógł się odwoływać co doradzalibyście

-> stworzyć tablice jednowymiarowe np. String[] imie itd.
-> stworzyć StringBuildera np. StringBuilder imie i za każdym razem za pomocą metody append wywołanej na obiekcie typu StringBuilder dodawać nowe imiona
i na końcu stworzyć zmienną typu String i jej przypisać obiekt StringBuildera z metodą toString na nim zawołaną.

czy może jakieś inne sposoby wam przychodzą na myśl.

dodanie znaczników <code> oraz `` - fp

0

Ja bym wpierw zdefiniował klasę Osoba z polami imie, nazwisko, netto, brutto i vat. A odczytane dane przechowywał w kolekcji, np. ArrayList<Osoba>.

1

Ja bym użył Jasperreports. Wstawił zapytanie do raportu i spędził 10 minut na wyrysowaniu tego w iReport.

0

Na przykład zrobiłbym klasę Osoba:

Class Osoba{
public String imie;
public String nazwisko;
public int wiek;

public Osoba(String imie, String nazwisko, int wiek)
{
       this.imie = imie;
       this.nazwisko = nazwisko;
       this.wiek = wiek;
}
}

deklaracja mojej listy w mojej jakiejś klasie głównej:

List lista = new ArrayList();

i powiedzmy mam jakąś moją klasę główną w tym samym pakiecie i tam mam metode actionPerformed buttona i za każdym razem dodaję nowe elementy do listy np. tak jak poniżej :

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {        
                                 lista.add(new Osoba(jTextField1.getText(),jTextField2.getText(),jTextField3.getText()));

}

i w jaki sposób później mogę się odwołać do poszczególnych elementów np. chciałbym wypisać sobie nazwiska dodanych osób

dodanie znaczników <code class="java"> - fp

0

np. wykorzystując guavę:

class LastName implements Function<Osoba, String>{

   public String apply(Osoba in){
       return in.nazwisko;
   }
}

I następnie się iterujesz przez listę:

List<String> nazwiskaFunctions.transform(lista, new LastName());

/// mam fazę na guavę...

0

Na przykład jak bym napisał :

for (int i = 0; i < lista.size(); i++) {
            System.out.print(lista.get(i));
        }

to na wyjściu napisze mi:

kolekcje.Osoba@19efb05

a ja bym chciał z tego wyciągnąć np. imię tej osoby albo nazwisko, to co muszę jeszcze dopisać? jaka metoda?

dodanie znaczników <code class="java"> - fp

0

osoba.nazwisko - pobierasz wartość pola nazwisko z obiektu osoba.

0

to ja wiem że mogę zrobić tak:

Osoba o1 = new Osoba();
o1.nazwisko;

ale ja chcę pobrać z listy to nazwisko które przekazałem do tej listy

dodanie znacznika <code class="java"> - fp

0

System.out.print(lista.get(i).nazwisko);

0

próbowałem w taki sposób ale nie działa wyświetla błąd

0

Moja klasa główna wygląda tak:

package kolekcje;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Michal
 */
public class Kolekcje {

    /**
     * @param args the command line arguments
     */
    
    
    public static void main(String[] args) {
        String imiePacjenta = "Karol";
        String nazwiskoPacjenta = "Janowski";
        int wiekPacjenta = 27;
        int iloscPrzepracowanychGodzinPacjenta = 4500;
        
       List lista = new ArrayList();
       
       lista.add(new Osoba(imiePacjenta,nazwiskoPacjenta,wiekPacjenta,iloscPrzepracowanychGodzinPacjenta));

        System.out.println(lista.get(0).nazwisko);    // tutaj wyświetla błąd       
    }
}

Klasa Osoba wygląda tak:

public class Osoba {
    public String imie;
    public String nazwisko;
    public int wiek;
    public int przepracowanychGodzin;

    public Osoba(String imie, String nazwisko, int wiek, int przepracowanychGodzin) {
        this.imie = imie;
        this.nazwisko = nazwisko;
        this.wiek = wiek;
        this.przepracowanychGodzin = przepracowanychGodzin;
    }   
}

dodanie znaczników <code class="java"> - fp

0
cannot find symbol
symbol: variable nazwisko
location: class Object
0

Zapomniałeś o rzutowaniu (albo zmienieniu deklaracji zmiennej lista, jak tam chcesz :P).

1

nie masz okreslonego typu objektu jaki masz przechowywany w liscie, dlatego przy sciaganiu z listy getem nie mozesz odwolac sie do pola nazwisko. Zrob

  List<Osoba> lista = new ArrayList<Osoba>();
 

btw uzywasz jakiegos IDE?

0

Netbeans

1 użytkowników online, w tym zalogowanych: 0, gości: 1