我正在尝试使用我的文本字段中的参数输入生成 JasperReports 的报告。它似乎无法使用带参数的查询。
是否有其他方法可以使用 Java 中的参数通过 JasperReports API 生成报告?我设置我的报告接受参数值为字符串。
public void reportDefault() {
try {
String searchreport = searchtextField.getText();
JasperDesign jd = JRXmlLoader.load("D:\\reports\\supplierlist.jrxml");
String sql = "SELECT * FROM businfo WHERE busname='%"+searchreport+"%'";
JRDesignQuery newQuery = new JRDesignQuery();
newQuery.setText(sql);
jd.setQuery(newQuery);
JasperReport jr = JasperCompileManager.compileReport(jd);
JasperPrint jp = JasperFillManager.fillReport(jr,null,conn);
JasperViewer jv = new JasperViewer(jp,false);
jv.viewReport(jp, false);
} catch(Exception e) {
e.printStackTrace();
}
}
答案 0 :(得分:0)
您似乎有SQL语法错误 - 您已使用通配符运算符marriagestatus
而不是@model kadrws.ViewModels.SocialViewModels
@using (Html.BeginForm())
{
..
@Html.HiddenFor(m => m.ID)
@Html.DropDownListFor(m => m.MarriageStatus, Model.MarriageStatusList)
....
@Html.EditorFor(m=> m.Rehber)
<input type="submit" value="Save" class="btn btn-default" />
}
而不是[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(SocialViewModels model)
{
if (!ModelState.IsValid)
{
// repopulate your select lists
return View(model);
}
// Get your data models, map the view model properties it
// Save and redirect
}
。见http://www.w3schools.com/sql/sql_wildcards.asp