2017-10-12 7 views
1

J'essaye d'écrire tous les champs d'une table d'une base de données que j'ai créée dans un pdf. Ceci est mon code:Ecrire une liste d'une base de données dans un fichier PDF

Document snapshot = new Document(); 
ArrayList<History> historyList = new ArrayList<History>(); 
Connection con = dbConnection(); 
String query = "SELECT * FROM apm_system.history"; 
Statement st; 
ResultSet rs; 
try { 
    st = con.createStatement(); 
    rs = st.executeQuery(query); 
    History history; 

    while (rs.next()) { 
     history = new History(rs.getString("TransactionID"), 
     rs.getString("On"), rs.getString("By"), rs.getString("Date"), 
     rs.getString("Time")); 
     historyList.add(history); 
     } 

    PdfWriter.getInstance(snapshot, new FileOutputStream("snapshot.pdf")); 
    snapshot.open(); 

    for (int i = 0; i < historyList.size(); i++) { 
     String temp = historyList.get(i).toString(); 
     Paragraph p = new Paragraph(temp + "\n"); 
     snapshot.add(p); 
     } 
} } catch (Exception e) { 
System.out.println(e); 
     } 
     snapshot.close(); 

Mon fichier PDF ressemble à ceci:

[email protected] 
[email protected] 
[email protected] 
[email protected] 

Mon code n'est pas en train d'écrire les champs réels de la base de données, au lieu, il est juste de les référencer. Je ne suis pas sûr si j'utilise la bonne terminologie mais au lieu de sortir: ID32321 User Admin 2017/10/12 14:24. Il sort: [email protected] au format PDF. Comment résoudre ce problème? Merci d'avance.

+0

Mon code n'écrit pas les champs réels de la base de données, mais simplement les référence. Je ne suis pas sûr si j'utilise la bonne terminologie mais au lieu de sortir: ID32321 User Admin 2017/10/12 14:24. Il sort: [email protected] au PDF – HelloWorld

+0

Je ne suis pas d'accord avec le vote serré (pas clair ce que vous demandez). La question est très claire, comprend un exemple de code, comprend le résultat attendu et réel. Peu importe que la réponse soit si triviale que même quelqu'un qui n'est pas un développeur comme moi puisse répondre à la question. –

Répondre

2

Ajoutez une méthode toString à votre classe History pour sortir autre chose que la référence d'objet.

+0

Cela a fonctionné. Merci beaucoup :) – HelloWorld

+0

Serait bien si vous pouviez accepter la réponse. –