| 字段名称 | 类型 | 说明 |
| ID | 自动编号 | 主键 ,递增 |
| YF | 数字 | 销售月份 |
| SL | 数字 | 销量 |
| ID | YF | SL |
| 1 | 1 | 12 |
| 2 | 2 | 5 |
| 3 | 3 | 7 |
| 4 | 4 | 20 |
| 5 | 5 | 16 |
| 6 | 6 | 10 |
| 7 | 7 | 19 |
| 8 | 8 | 8 |
| 9 | 9 | 7 |
| 10 | 10 | 13 |
| 11 | 11 | 11 |
| 12 | 12 | 15 |
| string sRouter = "c:\\db.mdb" ; //获得当前Access数据库在服务器端的绝对路径 string strCon = " Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " + sRouter ; //创建一个数据库连接 OleDbConnection myConn = new OleDbConnection ( strCon ) ; string strCom = " SELECT YF ,SL FROM Table01 ORDER BY YF" ; myConn.Open ( ) ; OleDbCommand myCommand = new OleDbCommand ( strCom , myConn ) ; OleDbDataReader myOleDbDataReader = myCommand.ExecuteReader ( ) ; //创建OleDbDataReader实例,并以此实例来获取数据库中各条记录数据 int [ ] iXiaoSH = new int [ 12 ] ; //定义一个数组,用以存放从数据库中读取的销售数据 string [ ] sMoth = new string [ 12 ] ; //定义一个数组,用以存放从数据库中读取的销售月份 int iIndex = 0 ; while ( myOleDbDataReader.Read ( ) ) { iXiaoSH [ iIndex ] = myOleDbDataReader.GetInt32 ( 1 ) ; sMoth [ iIndex ] = myOleDbDataReader.GetInt32 ( 0 ) . ToString ( ) + "月" ; iIndex++ ; } //读取Table01数据表中的各条数据,并存放在先前定义的二个数组中 myConn . Close ( ) ; myOleDbDataReader . Close ( ) ; //关闭各种资源 |
| Bitmap bm = new Bitmap ( 600 , 250 ) ; //创建一个长度为600,宽带为250的Bitmap实例 Graphics g ; g = Graphics.FromImage ( bm ) ; //由此Bitmap实例创建Graphic实例 g . Clear ( Color . Snow ) ; //用Snow色彩为背景色填充此绘画图面 |
| g . DrawString ( " ××公司××器件2002年度销售情况一览表" , new Font ( "宋体" , 16 ) , Brushes . Black , new Point ( 5 , 5 ) ) ; //在绘画图面的指定位置,以指定的字体、指定的颜色绘制指定的字符串。即为图表标题 |
| Point myRec = new Point ( 535 , 30 ) ; Point myDec = new Point ( 560 , 26 ) ; //以上是在图01中为下面绘制定位 g . DrawString ( "单位:万套" , new Font ( "宋体" , 9 ) , Brushes . Black , new Point ( 525 , 12 ) ) ; for ( int i = 0 ; i < sMoth.Length ; i++ ) { g . DrawRectangle ( Pens.Black , myRec . X , myRec . Y , 20 , 10 ) ; //绘制小方块 g . FillRectangle ( new SolidBrush ( GetColor ( i ) ) , myRec . X , myRec . Y , 20 , 10 ) ; //填充小方块 g . DrawString ( sMoth [ i ] . ToString ( ) , new Font ( "宋体" , 9 ) , Brushes . Black , myDec ) ; //绘制小方块右边的文字 myRec . Y += 15 ; myDec . Y += 15 ; } |
| int iBarWidth = 40 ; int scale = 10 ; for ( int i = 0 ; i < iXiaoSH . Length ; i++ ) { g . DrawRectangle ( Pens.Black , ( i * iBarWidth ) + 15 , 250 - ( iXiaoSH [ i ] * scale ) , 20 , ( iXiaoSH [ i ] * scale ) + 5 ) ; //绘制Bar图 g . FillRectangle ( new SolidBrush ( GetColor ( i ) ) , ( i * iBarWidth ) + 15 , 250 - ( iXiaoSH [ i ] * scale ) , 20 , ( iXiaoSH [ i ] * scale ) + 5 ) ; //以指定的色彩填充Bar图 g . DrawString ( iXiaoSH [ i ] . ToString ( ) , new Font ( "宋体" , 9 ) , Brushes . Black , ( i * iBarWidth ) + 20 , 235 - ( iXiaoSH [ i ] * scale ) ) ; //显示Bar图代表的数据 } |
| Pen p = new Pen ( Color.Black , 2 ) ; g . DrawRectangle ( p , 1 , 1 , 598 , 248 ) ; bm.Save ( Response . OutputStream , ImageFormat . Jpeg ) ; |
| using System ; using System . Collections ; using System . ComponentModel ; using System . Data ; using System . Drawing ; using System . Web ; using System . Web . SessionState ; using System . Web . UI ; using System . Web . UI . WebControls ; using System . Web . UI . HtmlControls ; using System . Drawing . Imaging ; //下面程序中使用的ImageFormat类所在的命名空间 using System . Data . OleDb ; //下面程序中使用到关于数据库方面的类所在的命名空间 |
| string sRouter = "c:\\db.mdb" ; //获得当前Access数据库在服务器端的绝对路径 string strCon = " Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " + sRouter ; //创建一个数据库连接 OleDbConnection myConn = new OleDbConnection ( strCon ) ; string strCom = " SELECT YF ,SL FROM Table01 ORDER BY YF" ; myConn.Open ( ) ; OleDbCommand myCommand = new OleDbCommand ( strCom , myConn ) ; OleDbDataReader myOleDbDataReader = myCommand.ExecuteReader ( ) ; //创建OleDbDataReader实例,并以此实例来获取数据库中各条记录数据 int [ ] iXiaoSH = new int [ 12 ] ; //定义一个数组,用以存放从数据库中读取的销售数据 string [ ] sMoth = new string [ 12 ] ; //定义一个数组,用以存放从数据库中读取的销售月份 int iIndex = 0 ; while ( myOleDbDataReader.Read ( ) ) { iXiaoSH [ iIndex ] = myOleDbDataReader.GetInt32 ( 1 ) ; sMoth [ iIndex ] = myOleDbDataReader.GetInt32 ( 0 ) . ToString ( ) + "月" ; iIndex++ ; } //读取Table01数据表中的各条数据,并存放在先前定义的二个数组中 myConn . Close ( ) ; myOleDbDataReader . Close ( ) ; //关闭各种资源 Bitmap bm = new Bitmap ( 600 , 250 ) ; //创建一个长度为600,宽带为250的Bitmap实例 Graphics g ; g = Graphics.FromImage ( bm ) ; //由此Bitmap实例创建Graphic实例 g . Clear ( Color . Snow ) ; //用Snow色彩为背景色填充此绘画图面 g . DrawString ( " ××公司××器件2002年度销售情况一览表" , new Font ( "宋体" , 16 ) , Brushes . Black , new Point ( 5 , 5 ) ) ; //在绘画图面的指定位置,以指定的字体、指定的颜色绘制指定的字符串。即为图表标题 //以下代码是是实现图01中的右上部 Point myRec = new Point ( 535 , 30 ) ; Point myDec = new Point ( 560 , 26 ) ; //以上是在图01中为下面绘制定位 g . DrawString ( "单位:万套" , new Font ( "宋体" , 9 ) , Brushes . Black , new Point ( 525 , 12 ) ) ; for ( int i = 0 ; i < sMoth.Length ; i++ ) { g . DrawRectangle ( Pens.Black , myRec . X , myRec . Y , 20 , 10 ) ; //绘制小方块 g . FillRectangle ( new SolidBrush ( GetColor ( i ) ) , myRec . X , myRec . Y , 20 , 10 ) ; //填充小方块 g . DrawString ( sMoth [ i ] . ToString ( ) , new Font ( "宋体" , 9 ) , Brushes . Black , myDec ) ; //绘制小方块右边的文字 myRec . Y += 15 ; myDec . Y += 15 ; } //以下代码是绘制图01中的Bar图,及其销售数量 int iBarWidth = 40 ; int scale = 10 ; for ( int i = 0 ; i < iXiaoSH . Length ; i++ ) { g . DrawRectangle ( Pens.Black , ( i * iBarWidth ) + 15 , 250 - ( iXiaoSH [ i ] * scale ) , 20 , ( iXiaoSH [ i ] * scale ) + 5 ) ; //绘制Bar图 g . FillRectangle ( new SolidBrush ( GetColor ( i ) ) , ( i * iBarWidth ) + 15 , 250 - ( iXiaoSH [ i ] * scale ) , 20 , ( iXiaoSH [ i ] * scale ) + 5 ) ; //以指定的色彩填充Bar图 g . DrawString ( iXiaoSH [ i ] . ToString ( ) , new Font ( "宋体" , 9 ) , Brushes . Black , ( i * iBarWidth ) + 20 , 235 - ( iXiaoSH [ i ] * scale ) ) ; //显示Bar图代表的数据 } //以下代码是绘制图01中的边框,并形成Jpeg文件,供浏览器显示出来 Pen p = new Pen ( Color.Black , 2 ) ; g . DrawRectangle ( p , 1 , 1 , 598 , 248 ) ; bm.Save ( Response . OutputStream , ImageFormat . Jpeg ) ; |
| private Color GetColor ( int itemIndex ) { Color MyColor ; int i = itemIndex ; switch ( i ) { case 0 : MyColor = Color . Cornsilk ; return MyColor ; case 1 : MyColor = Color . Red ; return MyColor ; case 2 : MyColor = Color . Yellow ; return MyColor ; case 3 : MyColor = Color . Peru ; return MyColor ; case 4 : MyColor = Color . Orange ; return MyColor ; case 5 : MyColor = Color . Coral ; return MyColor ; case 6: MyColor = Color . Gray ; return MyColor ; case 7: MyColor = Color . Maroon ; return MyColor ; case 8: MyColor = Color . Azure ; return MyColor ; case 9: MyColor = Color.AliceBlue ; return MyColor ; case 10: MyColor = Color . Bisque ; return MyColor ; case 11: MyColor = Color . BurlyWood ; return MyColor ; case 12: MyColor = Color . Chartreuse ; return MyColor ; default: MyColor = Color . Green ; return MyColor ; } } |
| 共分1页 [1] |
关于网站 | 客服中心 | 服务条款 | 友情链接 | 广告联系 | 本站历程 | 网站导航
吉ICP备05000107号