<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    vjame

    優(yōu)化代碼是無(wú)止境的
    隨筆 - 65, 文章 - 9, 評(píng)論 - 26, 引用 - 0
    數(shù)據(jù)加載中……

    JasperReports學(xué)習(xí)筆記4-查詢數(shù)據(jù)庫(kù)生成動(dòng)態(tài)的報(bào)表(WEB)


    第一種方式:

    sql語(yǔ)句中定義查詢條件,報(bào)表中定義接收參數(shù)


    第二種方式:

    JRXML文件里面不用寫(xiě)SQL語(yǔ)句,而是將結(jié)果集查詢出來(lái)經(jīng)過(guò)JRResultSetDataSource轉(zhuǎn)換
     
     1 
     2 import java.io.IOException;
     3 import java.io.InputStream;
     4 import java.sql.Connection;
     5 import java.sql.DriverManager;
     6 import java.sql.ResultSet;
     7 import java.sql.SQLException;
     8 import java.sql.Statement;
     9 import java.util.HashMap;
    10 
    11 import javax.servlet.ServletException;
    12 import javax.servlet.ServletOutputStream;
    13 import javax.servlet.http.HttpServlet;
    14 import javax.servlet.http.HttpServletRequest;
    15 import javax.servlet.http.HttpServletResponse;
    16 
    17 import net.sf.jasperreports.engine.JRException;
    18 import net.sf.jasperreports.engine.JRResultSetDataSource;
    19 import net.sf.jasperreports.engine.JasperRunManager;
    20 
    21 public class DynamicCreateReportWithServletDateSource extends HttpServlet {
    22 
    23     private static final long serialVersionUID = 1L;
    24 
    25     public void doGet(HttpServletRequest request, HttpServletResponse response)
    26             throws ServletException, IOException {
    27         Connection connection = null;
    28         Statement statument = null;
    29         ResultSet resultSet = null;
    30         String sql = "select tb.name as name,tb.age as age,tbs.marks as marks from jaspertb tb join jaspertbs tbs";
    31         ServletOutputStream servletOutputStream = response.getOutputStream();
    32         InputStream is = getServletConfig().getServletContext().getResourceAsStream("report\\JasperReportSQLResult.jasper");
    33         try {
    34             Class.forName("com.mysql.jdbc.Driver");
    35             connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/jasperreportdb","root""root");
    36             statument = connection.createStatement();
    37             resultSet = statument.executeQuery(sql);
    38             //這里把ResultSet封裝到JRResultSetDataSource對(duì)象里面了
    39             JasperRunManager.runReportToPdfStream(is,servletOutputStream,new HashMap(), new JRResultSetDataSource(resultSet));
    40             response.setContentType("application/pdf");
    41             servletOutputStream.flush();
    42             servletOutputStream.close();
    43             connection.close();
    44         } catch (ClassNotFoundException e) {
    45             e.printStackTrace();
    46         } catch (SQLException e) {
    47             e.printStackTrace();
    48         } catch (JRException e) {
    49             e.printStackTrace();
    50         }
    51     }
    52 
    53     public void doPost(HttpServletRequest request, HttpServletResponse response)
    54             throws ServletException, IOException {
    55         this.doGet(request, response);
    56     }
    57 
    58 }


    注意:JRXML文件里面數(shù)據(jù)庫(kù)的字段都是用$F{marks},而parameter是用$P{xxxx}表示的
    ,而parameter的值都是傳過(guò)去的那個(gè)HashMap里面設(shè)置的

    posted on 2013-10-15 15:52 lanjh 閱讀(570) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 報(bào)表

    主站蜘蛛池模板: 免费A级毛片无码A∨男男| 亚洲精品卡2卡3卡4卡5卡区| 老司机福利在线免费观看| 国产精品亚洲mnbav网站 | 国产成人久久AV免费| 亚洲视频一区网站| 国产成人3p视频免费观看| 国产免费牲交视频免费播放| 亚洲a级成人片在线观看| 亚洲视频一区二区| 国产免费久久精品99re丫y| www一区二区www免费| 麻豆狠色伊人亚洲综合网站 | 亚洲精品99久久久久中文字幕| 久久午夜羞羞影院免费观看 | 成人午夜大片免费7777| 中国国产高清免费av片| 亚洲熟妇成人精品一区| 久久亚洲精品成人| 亚洲精品无码av天堂| 青青久在线视频免费观看| 中文字幕免费在线看| 亚洲AV无码一区二区乱子仑| 亚洲国产精品国自产电影| 亚洲成av人片一区二区三区| 最新欧洲大片免费在线| 免费无码一区二区三区| EEUSS影院WWW在线观看免费| 亚洲变态另类一区二区三区| 亚洲欧洲日本国产| 亚洲精品乱码久久久久久自慰| 手机看片久久国产免费| 国产在线观看免费观看不卡| 免费视频一区二区| 中国一级毛片视频免费看| 国产精品亚洲五月天高清| 美女视频黄免费亚洲| 亚洲国产精品白丝在线观看| 国产亚洲一区二区手机在线观看| 免费又黄又爽的视频| 国产自产拍精品视频免费看|