2016-07-13 15 views
0

Ich verwende DynamicReports, um einen Bericht in PDF, XLS, DOC zu generieren. Aber meine Datenbankspalten sind im "varchar" -Datentyp. Wenn ich also diese Felder beim Erzeugen von DynamicReports verwende, gibt es jeden anderen Datentyp als varchar. Ich brauche den Datentyp varchar, weil meine Spalte aus Kommas, Vollstopps, Zahlen wie diesen besteht. Gibt es also eine Option zum Konvertieren oder zum Abrufen des Datentyps als Varchar?Warum gibt es keinen Varchar-Datentyp in DynamicReports

Hier ist mein Code:

public class DynamicReport { 
    public static void main(String[] args) { 
     Connection connection = null; 
     try { 
      Class.forName("com.mysql.jdbc.Driver"); 
      connection = DriverManager.getConnection(
         "jdbc:mysql://localhost:3306/marketing_database","root","root"); 
     } catch (SQLException e) { 
      e.printStackTrace(); 
      return; 
     } catch (ClassNotFoundException e) { 
      e.printStackTrace(); 
      return; 
     } 

     JasperReportBuilder report = DynamicReports.report();//a new report 
     StyleBuilder plainStyle = stl.style().setFontName("FreeUniversal"); 

     StyleBuilder boldStyle = stl.style(plainStyle).bold().setBorder(stl.pen1Point()); 

     report 
      .columns(
       Columns.column("Contact Person", "Contact_Person", DataTypes.stringType())) 
      .title(//title of the report 
        Templates.createTitleComponent("Fonts"), 
       Components.text("FreeUniversal").setStyle(boldStyle) 
       .setHorizontalAlignment(HorizontalAlignment.CENTER)) 
       .pageFooter(Components.pageXofY())//show page number on the page footer 
       .setDataSource("SELECT Contact_Person FROM marketing_database.lead", 
             connection); 

     try { 
      report.show(); 
      report.toPdf(new FileOutputStream("c:/report.pdf")); 
     } catch (DRException e) { 
      e.printStackTrace(); 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } 
     } 
} 

Jede Hilfe in dieser wird

+0

Was ist ein Äquivalent von varchar Typ in * Java *? Schnur? Deine Frage ist unklar. Was ist ein Problem? –

+1

Sie haben String dafür –

Antwort

1

Seit Dynamische Berichte auf Java basiert geschätzt werden, können Sie die String Datentyp für VARCHAR db-Typen verwenden können, wie @AlexK und @KarthikeyanVaithilingam vorgeschlagen.

CHAR, VARCHAR und LONGVARCHAR entweder String oder char[] kartiert wurden, konnte, aber String ist besser geeignet für den normalen Gebrauch. Außerdem macht die String Klasse Konvertierungen zwischen String und char[] einfach: Es ist ein Verfahren zur Herstellung eines String Objekt in eine char[] Umwandlung und auch ein Konstruktor für eine char[] in ein String Objekt drehen.

Source

Verwandte Themen