报表汇总语句.doc_第1页
报表汇总语句.doc_第2页
报表汇总语句.doc_第3页
报表汇总语句.doc_第4页
报表汇总语句.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.SELECT 菜品,SUM(数量) 数量,SUM(总价) 总价,MIN(显示循序) 显示循序FROM 表GROUP BY 菜品HAVING COUNT(菜品)1ORDER BY 2 DESC表如下 菜品 数量 总价 显示循序 香仁饼干 2 12 0001奶油 1 6 00010001法式起点 1 5 00010002滴滤咖啡 3 18 0002香仁饼干 3 18 0003奶油 2 12 00030001法式起点 1 5 00030002整理效果菜品 数量 总价 显示循序 香仁饼干 5 30 0001奶油 3 18 00010001法式起点 2 10 00010002【实例134】 用JavaReport的RsTable对象输出报表本例将沿用第7章中在SQL Server数据库testDataBase中创建的表userTable,实现输出用户资料报表,这个报表可导出成PDF、EXCEL等格式,并在页面首部的工具栏中加入的排序的超链接,可根据需要来对报表中的数据进行排序,其实质上改变SQL语句中的order by子句中的排序字段来实现的。源代码如下:RsTable.jsp%!/ 建立报表,返回报表的实例。public Report createReport(HttpServletRequest request) throws Exception Report report = new Report(); / 实例化报表对象 RsTable rst = getRsTable(request); / 创建表格对象 /设置页眉和页角的显示内容. report.addHeaderText(记录集表格程序示例); report.addHeaderSeparator(1); report.addFooterSeparator(1); report.addFooterText(第P页, 共N页); /设置报表中间显示的内容. report.addText(系统用户资料表:); report.addBreak(); report.addBreak(); report.addTable(rst); /把录集表格对象添加到报表容器中. report.addBreak(); return report;/ 生成ResultSet表格,同时设置对象的相关属性.public RsTable getRsTable(HttpServletRequest request) throws Exception ResultSet rs = getResultSet(request); /查询得到记录集,这是实时动态数据的来源. RsTable rsTable = new RsTable(rs); /实例化记录集表格对象 / 设置表格显示列名时的映射关系,即显示成为中文的名称 String map = new Stringuser_id,用户编号,user_name,用户名,user_true_name,用户真实姓名,user_age,用户年龄,user_sex,用户性别,user_address,用户地址; rsTable.setMapping(map); / 置表格的样式,行和列的边线都显示出来,表头的列名显示成灰色,对齐方式为中间对齐,列宽度自动调整. rsTable.setRowBorder(RsTable.LINE_THIN); rsTable.setColBorder(RsTable.LINE_THIN); rsTable.setRowBackground(0,Color.LIGHT_GRAY); rsTable.setAlignment(Table.H_CENTER + Table.V_CENTER); rsTable.setColAutoSize(true); return rsTable;/ 查询得到一个ResultSet对象,这里访问的是一个SQL Server数据库public ResultSet getResultSet(HttpServletRequest request) throws Exception String orderByCol = Tools.getParameter(request,orderby,user_id); String strurl=jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=testDatabase; Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver); Connection conn=DriverManager.getConnection(strurl,sa,6599996) ; Statement stmt=conn.createStatement(); ResultSet rs = stmt.executeQuery(select user_id,user_name,user_true_name, user_age,user_sex,user_address from+ userTable order by +orderByCol); return rs;/ 这是工具栏中的显示返回按钮的脚本代码public String getToolbarScript(HttpServletRequest request) String uri = request.getRequestURI(); return + 排序方式+编号+用户名+性别+用户年龄+;%程序的运行结果如图17-16所示。实例134】 用JavaReport的RsTable对象输出报表本例将沿用第7章中在SQL Server数据库testDataBase中创建的表userTable,实现输出用户资料报表,这个报表可导出成PDF、EXCEL等格式,并在页面首部的工具栏中加入的排序的超链接,可根据需要来对报表中的数据进行排序,其实质上改变SQL语句中的order by子句中的排序字段来实现的。源代码如下:RsTable.jsp%!/ 建立报表,返回报表的实例。public Report createReport(HttpServletRequest request) throws Exception Report report = new Report(); / 实例化报表对象 RsTable rst = getRsTable(request); / 创建表格对象 /设置页眉和页角的显示内容. report.addHeaderText(记录集表格程序示例); report.addHeaderSeparator(1); report.addFooterSeparator(1); report.addFooterText(第P页, 共N页); /设置报表中间显示的内容. report.addText(系统用户资料表:); report.addBreak(); report.addBreak(); report.addTable(rst); /把录集表格对象添加到报表容器中. report.addBreak(); return report;/ 生成ResultSet表格,同时设置对象的相关属性.public RsTable getRsTable(HttpServletRequest request) throws Exception ResultSet rs = getResultSet(request); /查询得到记录集,这是实时动态数据的来源. RsTable rsTable = new RsTable(rs); /实例化记录集表格对象 / 设置表格显示列名时的映射关系,即显示成为中文的名称 String map = new Stringuser_id,用户编号,user_name,用户名, user_true_name,用户真实姓名,user_age,用户年龄,user_sex,用户性别,user_address,用户地址; rsTable.setMapping(map); / 置表格的样式,行和列的边线都显示出来,表头的列名显示成灰色,对齐方式为中间对齐,列宽度自动调整. rsTable.setRowBorder(RsTable.LINE_THIN); rsTable.setColBorder(RsTable.LINE_THIN); rsTable.setRowBackground(0,Color.LIGHT_GRAY); rsTable.setAlignment(Table.H_CENTER + Table.V_CENTER); rsTable.setColAutoSize(true); return rsTable;/ 查询得到一个ResultSet对象,这里访问的是一个SQL Server数据库public ResultSet getResultSet(HttpServletRequest request) throws Exception String orderByCol = Tools.getParameter(request,orderby,user_id); String strurl=jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=testDatabase; Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver); Connection conn=DriverManager.getConnection(strurl,sa,6599996) ; Statement stmt=conn.createStatement(); ResultSet rs = stmt.executeQuery(select user_id,user_name,user_true_name, user_age,user_sex,user_address from+ userTable order by +orderByCol); return rs;/ 这是工具栏中的显示返回按钮的脚本代码public String getToolbarScript(HttpServletRequest request) String uri = request.getRequestURI(); return + 排序方式+ 编号+用户名+ 性别+ 用户年龄+ ;%程序的运行结果如图17-16所示。select * from ccmsrt001select count(dcbw) from ccmsrt001select * from ccmsrt001 where distinct dcarea-select ,sum() from group by ,select dcregion, dcoperator,sum(dcquitfee) from ccmsrt001 group by dcregion,dcoperatorselect dcregion,dcarea,dcoperator,sum(dcquitfee),count(dcbw),count(dcqw) from ccmsrt001 group by dcregion,dcarea,dcoperator order by sum(dcquitfee) descselect dcoperator,sum(dcquitfee) as sumquit from ccmsrt001 group by dcoperator2222222222222222222222222222222create or replace function GetSpanTimeByNunber(v_second number) return varchar2 is Result varchar2(3200);begin if v_second =0 or v_second is null then return null ;end if ; SELECT case when abs( trunc(v_second / 3600) 1 then 0 | : else to_char(trunc(v_second / 3600) | : end | case when abs(trunc(mod(v_second, 3600) / 60) = 1 then to_char(trunc(mod(mod(v_second, 3600), 60) else 0 end FlightPeriod2 INTO Result from dual ; return(Result);end GetSpanTimeByNunber;文网文文网文文网文文网文问问create or replace procedure testaaascursorrow t_airbusapmresult%rowtype;maxvalue number;minvalue number;cursor mycursor is (select * from t_airbusapmresult where rownum10);begin open mycursor; loop fetch mycursor into cursorrow; exit when mycursor%notfound; dbms_output.put_line(to_char(cursorrow.depr1); end loop; close mycursor;end; 3333333333333333333333333333333333主要方法介绍上传/ 新建一个SmartUpload对象SmartUpload su = new SmartUpload(); / 上传初始化su.initialize(pageContext); / 限制每个上传文件的最大长度。su.setMaxFileSize(10000); / 限制总上传数据的长度。su.setTotalMaxFileSize(20000); / 设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。su.setAllowedFilesList(doc,txt);/ 设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,/jsp,htm,html扩展名的文件和没有扩展名的文件。su.setDeniedFilesList(exe,bat,jsp,htm,html,);/ 上传文件su.upload();/ 将上传文件全部保存到指定目录int count = su.save(/upload);下载/ 新建一个SmartUpload对象SmartUpload su = new SmartUpload();/ 初始化su.initialize(pageContext);/ 设定contentDisposition为null以禁止浏览器自动打开文件,/保证点击链接后是下载文件。若不设定,则下载的文件扩展名为/doc时,浏览器将自动用word打开它。扩展名为pdf时,/浏览器将用acrobat打开。su.setContentDisposition(null);/ 下载文件su.downloadFile(/upload/test.doc);*应用实例:用户只能上传图片格式的文件实例uploadimage.jspalert(只允许上传.jpg和.gif类型图片文件);window.location=upload.htm;alert(请先选择要上传的文件);window.location=upload.htm;%else/String myFileName=myFile.getFileName(); /取得上载的文件的文件名ext= myFile.getFileExt(); /取得后缀名int file_size=myFile.getSize(); /取得文件的大小 String saveurl=;if(file_sizefile_size_max)/更改文件名,取得当前上传时间的毫秒数值Calendar calendar = Calendar.getInstance();String filename = String.valueOf(calendar.getTimeInMillis(); saveurl=application.getRealPath(/)+url;saveurl+=filename+.+ext; /保存路径myFile.saveAs(saveurl,SmartUpload.SAVE_PHYSICAL);out.print(saveurl);String ret = parent.HtmlEdit.focus();ret += var range = parent.HtmlEdit.document.selection.createRange(); ;ret += range.pasteHTML(); ;ret += alert(上传成功!);ret += window.location=upload.htm;out.print( + ret + );catch (Exception e) out.print(e.toString(); % upload.htm请选择上传的图片 如何用jsp读取文件夹里的全部文件名及大小类型。想把一个文件夹的内容全部读取出来,里面全是word与pp,excel文档。然后分两行显示在页面上。名称就是链接和说明。在以后打开这个jsp文件时,可自动读取该文件夹的内容。文件夹里的内容可以随时增删。谢谢!jsp文件名 showfile.jsp 文件夹名称:files 文件夹里的文件的名称包括中英文谢谢了! wobushiwo 发表于 2005-11-18 11:40你想得还真美啊,还给设计好了showfile.jsp ?还删除/访问呢,要不要给你写套WEB文件管理啊?哈哈,下面的代码列出来了,自己发挥吧,去参考 java.io code%String path = ./; /路径File f = new File(path);if (!f.exists() out.println(path+ not exists); return;File fa = f.listFiles();for(int i=0;ifa.length;i+) File fs = fai; if (fs.isDirectory() out.println(fs.getName()+ 目录); else out.println(fs.getName()+); %/code jiarry 发表于 2005-11-18 13:51多谢,只是希望从源代码中分析下,学习学习而已。 jiarry 发表于 2005-11-18 14:05效果不错,正是这个意思。俺要借用你的代码了。在你的基础上来做个页面。hoho,谢谢了。 jiarry 发表于 2005-11-18 14:09如果再读取文件夹里的文件呢,怎么样穷尽递归全部文件夹下文件夹里的内容。 大马虎 发表于 2005-11-18 15:26要将服务器的所有目录显示出来呢,比如使用windows系统显示出c:d:就象使用weblogic部署文件时那样,可以选择本地的任何一个盘! wobushiwo 发表于 2005-11-18 21:15知道递归,那说明你有底了当fs.isDirectory() 是真时,那个就是目录,那就再次调用刚上面的流程查查 java.io 包相当清楚了 jiarry 发表于 2005-11-21 10:48多谢wobushiwo! jiarry 发表于 2005-11-22 12:35如何才能递归得到文件全部目录如何才能递归得到文件全部目录code%!public String travelFile(String directory)/论坛求助; try File dir = new File(directory); File files=dir.listFiles(); for(int i=0;ifiles.length;i+) if(dir.isFile() return dir.getName(); else for(int j=0;jfiles.length;j+) if(filesj.isDirectory() travelFile(filesj.getAbsolutePath(); /return filesj.getName(); return filesj.getName(); catch(Exception e) return null;/*public static void travelFile(String directory) /try File dir = new File(directory); if(dir.isFile() System.out.print(dir.getName()+); else File files=dir.listFiles(); for(int j=0;j/String dir = E:/Tomcat/webapps/test/jspfiles/;dir = pageContext.getServletContext().getRealPath(WEB-INF);/out.print(ddd);out.print(travelFile(dir);%/codeb上面是一个jsp文件,却只能得到一个文件。无法捕捉全部文件列表。/b谢谢! jiarry 发表于 2005-11-22 14:33哪位愿意指点呢?在下先谢过了。:) guangzongy 发表于 2005-11-22 15:10quote%!public String travelFile(String directory)/论坛求助; try File dir = new File(directory); File files=dir.listFiles(); for(int i=0;ifiles.length;i+) if(dir.isFile() color=Redreturn dir.getName();/colorquote红色部分如果碰到非目录的文件就会返回,不知道你是怎么调用的:em14:package com.oracleexcel;import java.io.File;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import jxl.Cell;import jxl.Sheet;import jxl.Workbook;import jxl.read.biff.BiffException;import jxl.write.Label;import jxl.write.WritableSheet;import jxl.write.WritableWorkbook;import jxl.write.WriteException;import jxl.write.biff.RowsExceededException; public class ParserExcel /* * param args * throws IOException * throws BiffException 51 */ private staticString s_db_connection_string=jdbc:oracle:thin:92:1521:ORA92; / private static String driverClassName = com.mysql.jdbc.Driver; / private static String dbURL = jdbc:mysql:/localhost:3306/test?autoReconnect=true&defaultAutoCommit=false&useUnicode=true&characterEncoding=gbk;/设置提交地址的编码 / private static String user = root; / private static String password = root; public static Connection getConnection() Connection con = null; try Class.forName(oracle.jdbc.driver.OracleDriver); / Class.forName(driverClassName); con = DriverManager.getConnection(s_db_connection_string,CCMS,CCMS); / con = DriverManager.getConnection(dbURL, user, password); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace(); return con; public static void exprotExcel() throws SQLException, BiffException, IOException, RowsExceededException, WriteException Connection con= getConnection(); /获得数据库连接 String sql=select dcbusicategory from ccmsrw001 group by dcbusicategory; ResultSet rs=con.prepareStatement(sql).executeQuery(); /WritableWorkbook book=Workbook.createWorkbook(new File(/home/111.xls);/创建可以写的workbook对象 WritableWorkbook book=Workbook.createWorkbook(new File(/home/1101.xls);/创建可以写的workbook对象 WritableSheet sheet=book.createSheet(1, 0);/创建工作区 int i=0; while(rs.next() /String n=rs.getString(dcbusicategory);/ String a=rs.getString(a);/ String p=rs.getString(pe); System.out.println(rs.getString(dcbusicategory); Label l=new Label(0,i,rs.getString(dcbusicategory);/设置写入的内容 sheet.addCell(l); i+; book.write();/写入ecxel book.close();/一定要关闭,否则不写入 public static void main(String args) throws IOException, BiffException, SQLException, RowsExceededException, Write

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论