[英]Why there is no varchar datatype in DynamicReports
I am using DynamicReports to generate a report in PDF,XLS,DOC. 我正在使用DynamicReports生成PDF,XLS,DOC格式的报告。 But my database columns are in "varchar" datatype.
但是我的数据库列是“ varchar”数据类型。 So when I am using those fields in generating DynamicReports there is every other datatype other than varchar.
因此,当我在生成DynamicReports时使用这些字段时,除varchar外,还有其他所有数据类型。 I need varchar datatype because my column consists of commas, fullstops, numbers like these.
我需要varchar数据类型,因为我的列由逗号,句号和此类数字组成。 So is there any option to convert or to get the datatype as varchar.
因此,是否有任何转换或获取数据类型为varchar的选项。
Here is my 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();
}
}
}
Any help in this will be appreciated 任何帮助,将不胜感激
Since Dynamic Reports is based on Java, you can use the String
data type for VARCHAR
db types, as @AlexK and @KarthikeyanVaithilingam suggested. 由于Dynamic Reports基于Java,因此可以将
String
数据类型用于VARCHAR
db类型,如@AlexK和@KarthikeyanVaithilingam所建议。
CHAR
,VARCHAR
, andLONGVARCHAR
could have been mapped to eitherString
orchar[]
, butString
is more appropriate for normal use.CHAR
,VARCHAR
和LONGVARCHAR
映射到String
或char[]
,但是String
更适合正常使用。 Also, theString
class makes conversions betweenString
andchar[]
easy: There is a method for converting aString
object to achar[]
and also a constructor for turning achar[]
into aString
object.另外,
String
类使在String
和char[]
之间进行转换变得容易:有一种将String
对象转换为char[]
,还有一种将char[]
转换为String
对象的构造函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.