dedecms织梦内容管理系统    
首页 | java | C/C++ | PHP | 操作系统 | ajax | 脚本编程 | 安全技术 | 本站下载页 | flex | CRM | 专题 | QQ群 | 测试中心 | 会员中心 | 积分规则
  当前位置:主页>java>jsp>文章内容
在JSP页面中轻松实现数据饼图
来源:未知     作者:    
  提供了很多简单实用的工具,其中包括从中读出数据,发送数据,并能够把结果显示在一个饼状图形。现在让我们看看这一简单而实用的方法。

  你所需要的东西

  为了能正确运行这一文章相关的范例,你必须需要JDK 1.2或更高的版本、一个关系管理系统、一个网络服务器。我都是在调试这些例子,同时我也使用了Sun 2 SDK发布的com.sun.image.codec.jpegclasses。

  设计

  假设你在一家从事销售新鲜水果的公司上班,公司出售的水果包括:苹果、桔子、葡萄。现在你的老板想用一个饼状图形显示每一种水果的总出售量,饼状图形能使每一种产品的销售情况一目了然,老板可以迅速掌握公司的产品成交情况。

  表A使用了本文中的两种列表。第一种列表(Products)包含所有销售产品的名称;第二种列表(Sales)包含每一种产品对应的销售量。

Listing A

Database Design
---------------
p_products table
----------------
productID   int (number)    not null
productname  String (varchar)  not null

p_sales table
-------------
saleID     int (number)   not null
productID   int (number)   not null
amount     float      not null

  产品(Products)列表包含productID和productname两个域。销售(Sales)列表包含saleID, productID,以及总额。销售列表中的productID提供了这两个列表之间的关联。销售列表中的总额包含了每一次出售的现金数额,这些数额以浮点型数据出现。

  表B中的getProducts()方法连接了两个,并把所有的产品名称保存在数组中:

  Listing B

////////////////////////////////////////////////////////////
//Get products from the database as a String array
////////////////////////////////////////////////////////////
public String[] getProducts()
{
 String[] arr = new String[0];
 Connection con;
 Statement stmt;
 ResultSet rs;
 int count = 0;
 String sql = "select * from p_products order by productID";
 try
 {
  //Load Driver: Class.forName(driver);
  //Connect to the database with the url
  con = DriverManager.getConnection(dburl , dbuid , dbpwd);
  stmt = con.createStatement();
  //Get ResultSet
  rs = stmt.executeQuery(sql);
  //Count the records
  while(rs.next())
   {count++;}
  //Create an array of the correct size
  arr = new String[count];
  //Get ResultSet (the portable way of using rs a second time)
  rs = stmt.executeQuery(sql);
  while(rs.next())
  {
   arr[rs.getInt("productID")] = rs.getString("productname");
  }
  stmt.close();
  con.close();
 }
 catch (.lang.Exception ex)
 {
  arr[0] = ex.toString();
 }
 return arr;
}

  我设置以下的规则:

   1、ProductID在产品列表中最独特,也是最关键;

   2、ProductID对于第一个记录的值为0;

   3、所有之后的连续的记录都是累加的,所以第二个记录的productID为1,第三个记录的productID为2,以此类推。

  这些规则允许在product数组中存储数据,如下所示:

arr[rs.getInt("productID")] = rs.getString("productname");


  一些数据库管理系统在缺省情况下就允许数据的自动累加或者自动排序。当你在设计数据库时,一定先查明你的管理系统遵循哪些规则,比如自动累加,自动排序等。

[1]    

 

 

上一篇:JSP实现论坛树型结构的具体算法   下一篇:Jsp结合XML+XSLT将输出转换为Html格式
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·JSP入门实例教程
·什么是Servlet
·JSP常用内置对象使用说明
·JSP自定义标签由浅到深详细讲解
·JSP自定义标签由浅到深详细讲解
·Java Servlet技术
·Javax.servlet API的特征
·一个简单的jsp注册页面
·JSTL操作数据库示例
·JSP入门实例教程13-MVC模式
·JSP入门实例教程12-jstl处理数
·JSP入门实例教程11-jstl处理xml
  相关文章
·JSP实现论坛树型结构的具体算法
·Jsp结合XML+XSLT将输出转换为Htm
·一个用JSP实现的分页的类及调用
·在JSP中访问数据库大全
·利用iText在JSP中生成PDF报表
·JSP技巧:发送动态图像
·在JSP中使用JavaMail
·JSP调用JavaBean在网页上动态生
·JSP的九种基本内置组件简介
·JSP如何连接DB2数据库
·Servlet/JSP配置详解
·mysql连接池连接JSP
  相关信息
copy right @ 百家拳软件项目研究室 2007 辽ICP备07011763